A MERN stack two player online card game with a NBA twist. Using Create-React-App, our app features four teams (Lakers, Rockets, Heat and Raptors) with 18 players each from the 2020 season. Users have the option of choosing one of the eight stats(height, weight, field goal percentage, assist, rebounds, turnovers and personal fouls) to pit against the competition. The website is equipped with user functionality to create accounts, remember individual games and record match histories. Game state modifications occur server-side and saved in MongoDB. Future deployment in the works are as follows:
- Incorporating websockets
- Create your own player and increase your stats out of game with fitbit
- Add all teams and other stats
- Various game modes such as draft, regular and playoff seasons
- Add game balances and penalties
- Introduce coach, home/away, shotclock and fatigue variables
- Port to React-Native and add offline functionality
- Many more!
Due to the ongoing pandemic, the NBA season have been interrupted and social gatherings restricted which meant no basketball for months. Seeing as current basketball games on the market are expensive and also take time to develop, we wanted to create a simple, but fun interactive basketball related game that could be played with a friend. The inspiration for the game came from the childhood favourite card game WAR.
AS an avid basketball fan
I WANT a simple sports themed online card game
SO THAT I can enjoy basketball and maintain social distancing during quarantine.
GIVEN a choice of decks WHEN I select a deck from the database THEN I am matched with an opponent
GIVEN it is my turn WHEN I select the top card THEN I can choose a stat and play it
GIVEN cards are in play WHEN the turn is won THEN the winner collects those cards
GIVEN a player loses their turn WHEN they have no more cards to play THEN the winner is declared
More details can be found in our proposal
Download or clone the repo to a working directory and extract its contents. Use a Command Line Interface to install necessary dependencies by running the following command:
npm i
Type the following in any CLI to run the app.
npm start
- Express
- Express-Session
- MySQL
- Sequelize
- MongoDB
- Mongoose
- React
- React Router
- Node
- Sass
- Passport
- bcryptjs
- Travis CI
- ESlint
- Bootstrap
- Fontawesome
- Basketball Reference
Liam Mackinnon, Shamik Haldar, Mohammed-Yasir Suara
This project is licensed under the MIT License - see the LICENSE.md file for details
Message any of the authors or open a pull request. See CONTRIBUTING.md
Contact any of the authors