Skip to content

TuringGameNight/Front-End

Repository files navigation

Game Night

Build Status

Production URL

Plan your next game night with GameNight! With this app you can add games to your shelf, get your friends to do the same, and when it is time to plan a game night, leave the planning to us. We will get all the games collated and allow your party to vote on the game(s) you want to play before the game night!

gamenight-logo2

Table of Contents

Technology

This app is built on Ruby 2.5 and Rails 5.2 with support from:

  • Faraday
  • Figaro
  • Omniauth (Google Specific)
  • Bootstrap
  • Active Record Session Store
  • Action Pack Caching
  • and a host of testing gems

How to Install

To install and run this application locally:

  1. To setup the repository locally, clone it down and run the following commands:
$ bundle install
$ figaro install
$ rails db:{create,migrate}
  1. In the application.yml file, the following lines:
BACKEND_URL: https://calm-journey-65417.herokuapp.com/
GOOGLE_CLIENT_ID: add_your_own
GOOGLE_CLIENT_SECRET: add_your_own

If you know a contributor, you can ask one of us for the client ID and secret.

  1. In your terminal, startup your server with the $ rails server command

  2. You should now be able to open your web browser, navigate to http://localhost:3000/.

Features

Login and Add Game

Google OAuth

Authentication is taken care of by Google OAuth. Users may login with their Google account info by using the link on the home page.

User Features

After authenticating/logging in, a user is taken to their dashboard where they can do the following:

* Create game nights and accept/decline game night invites
* Add friends, and accept/decline friend requests
* View and add games to their shelf

Add Game Night

Game Search

* A user can search for games and add games they own to their account or "shelf".
* If the game they searched for is not displayed, they can add it manually.

Database

All data is handled by our backend API here

Our API calls are handles by our microservice Sinatra App here

Testing

Testing status: As of 1/15/2021, this repo is at 96.3% coverage, per SimpleCov

How to run the test suite

  • Run bundle exec rspec

Known Issues

  • Update FE tests to align with backend
  • Add more sad path testing
  • Users can see the game nights they are not invited to
  • The user's list of games in the session doesn't immediately update when they add a game
  • Due to the above, you can add more than one of the same game
  • Selecting people to invite doesn't translate to the game night creation, all user friends are added.

Roadmap

Features we would like to build in the future include:

  1. Voting on games for the game night
  2. Notification of the game owner to bring the game the day of
  3. Chat feature with friends
  4. Add location of game night
  5. Google maps for directions to location
  6. Game night stats (Games played the most, hall of fame)
  7. Game night photos and memorabilia
  8. Notifications by email of voting, reminders, invites, etc.
  9. Google calendar invite integration to add to your calendar
  10. Find a good night based on friend's calendars or voting on a day
  11. Save favorite friend groups
  12. Schedule regular game nights
  13. Private/public game nights
  14. Virtual game night option
  15. Signup to bring food
  16. Reviews and comments on games you own
  17. Custom tagging of games

Contributors

  • Austin Aspaas - LinkedIn - GitHub
  • Eduardo Parra - LinkedIn - GitHub
  • Garrett Cottrell - LinkedIn - GitHub
  • Grant Dempsey - LinkedIn - GitHub
  • Greg Mitchell - LinkedIn - GitHub
  • Kate Tester - LinkedIn - GitHub
  • Philip DeFraties - LinkedIn - GitHub
  • Shaun James - LinkedIn - GitHub
  • Shaunda Cunningham - LinkedIn - GitHub
  • Taylor Phillips - LinkedIn - GitHub

Acknowledgments

Thank you to the Board Game Atlas API for providing the board game data that this project relies on.