GithubHelp home page GithubHelp logo

vortextech / front-end Goto Github PK

View Code? Open in Web Editor NEW

This project forked from turinggamenight/front-end

0.0 1.0 0.0 439 KB

Rails Front-End for Game Night

Home Page: https://aqueous-chamber-62045.herokuapp.com

Ruby 73.69% JavaScript 1.63% HTML 17.19% SCSS 7.48%

front-end's Introduction

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.

front-end's People

Contributors

araspaas avatar garrettcottrell avatar gdemps avatar gregjmitchell avatar helloeduardo avatar katemorris avatar philipdefraties avatar shaundanejames avatar smcunning avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.