Full stack app that uses the Elo rating system for intra-office activities like ping pong
New users can sign up under their organization to create a new account. They can then record games that they've played against other registered users. With each new recorded game, the players' Elo ratings are updated. The leaderboard shows how each player is ranked and includes data for their Elo rating, number of games played, number of wins, and number of losses.
The Elo rating is a simple rating algorithm used in chess and some other sports and games. For the theory and math involved, see this article: https://en.wikipedia.org/wiki/Elo_rating_system. I've chosen a K-factor of 32 and a starting value of 1200 for each new player so that your score is always positive.
- Node/Express (Backend to handle routing and API requests)
- Passport (Authentication)
- MongoDB/Mongoose (Database)
- HTML/CSS/jQuery (Frontend UI)
If you'd like to clone this repo and run this app on your own server, go ahead! After cloning the repo you'll need to do the following:
npm install
to get all the Node modules- create a MongoDB database
- create a
users
collection and agames
collection within that database - create an
.env
file to store yourSESSION_SECRET
(ex.my_secret
) and yourDB_CONNECTION
(ex. 'mongodb://localhost/myReallyCoolDb')
If you've found a bug or would like to request a feature, please file an issue on this repo. PRs are welcome!