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!
- Technology
- How to Install
- Features
- Database
- Testing
- Known Issues
- Roadmap
- Contributors
- Acknowledgments
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
To install and run this application locally:
- To setup the repository locally, clone it down and run the following commands:
$ bundle install
$ figaro install
$ rails db:{create,migrate}
- 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.
-
In your terminal, startup your server with the
$ rails server
command -
You should now be able to open your web browser, navigate to
http://localhost:3000/
.
Authentication is taken care of by Google OAuth. Users may login with their Google account info by using the link on the home page.
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
* 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.
All data is handled by our backend API here
Our API calls are handles by our microservice Sinatra App here
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
- 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.
Features we would like to build in the future include:
- Voting on games for the game night
- Notification of the game owner to bring the game the day of
- Chat feature with friends
- Add location of game night
- Google maps for directions to location
- Game night stats (Games played the most, hall of fame)
- Game night photos and memorabilia
- Notifications by email of voting, reminders, invites, etc.
- Google calendar invite integration to add to your calendar
- Find a good night based on friend's calendars or voting on a day
- Save favorite friend groups
- Schedule regular game nights
- Private/public game nights
- Virtual game night option
- Signup to bring food
- Reviews and comments on games you own
- Custom tagging of games
- Austin Aspaas - -
- Eduardo Parra - -
- Garrett Cottrell - -
- Grant Dempsey - -
- Greg Mitchell - -
- Kate Tester - -
- Philip DeFraties - -
- Shaun James - -
- Shaunda Cunningham - -
- Taylor Phillips - -
Thank you to the Board Game Atlas API for providing the board game data that this project relies on.