Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/healeycodes/among-us-friends
🎮 An ELO and player tracking system for the game Among Us
https://github.com/healeycodes/among-us-friends
among-us among-us-player-data elo express netlify-functions
Last synced: about 2 months ago
JSON representation
🎮 An ELO and player tracking system for the game Among Us
- Host: GitHub
- URL: https://github.com/healeycodes/among-us-friends
- Owner: healeycodes
- License: mit
- Created: 2020-11-07T13:38:06.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-28T12:52:03.000Z (about 2 years ago)
- Last Synced: 2024-11-30T02:12:38.459Z (2 months ago)
- Topics: among-us, among-us-player-data, elo, express, netlify-functions
- Language: JavaScript
- Homepage:
- Size: 1.13 MB
- Stars: 17
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# among-us-friends
> My blog post: [Writing Software for an Among Us League](https://healeycodes.com/writing-software-for-an-among-us-league/)
![Node.js CI](https://github.com/healeycodes/among-us-friends/workflows/Node.js%20CI/badge.svg)
I use this system to manage the Among Us league I play with my friends.
Features:
- Elo rankings (w/ graphs)
- Player pages
- Achievements/trophy system
- Seasons
- Google Sheets as a datastoreTech:
A Jamstack application which runs Express via Netlify Lambda.
The front-end is React via Create React App.
tested by Jest.
![Win rates and loss rates, and an ELO graph](https://github.com/healeycodes/among-us-friends/blob/main/front-end/public/preview.png)
![A player's trophy section](https://github.com/healeycodes/among-us-friends/blob/main/front-end/public/preview-trophies.png)
## Google Sheets
Sheets should be named in the following format:
- `Season X` — where `X` is an incrementing integer starting at `1`
To add a season, edit `seasons` inside `config.json`. Append to the list of incrementing integers.
![A Google Sheets file](https://github.com/healeycodes/among-us-friends/blob/main/front-end/public/sheets.png)
Enter data starting at C4 downwards. The rows should be 14 cells long.
10 player slots (which should be left empty if you have less than 10), 2 slots for the impostors (the names are repeated from the player list), 1 slot for the winner ('crew' or 'impostor'), and 1 slot for the map short name.
E.g.
```
"andy" <-- player list
"ally"
"bayf"
"beans"
"keita"
"mads"
"roma"
"spon"
"gem"
"" <-- empty if you have nine players"ally" -- impostors
"spon""crew" <-- game winner (crew, impostor)
"skeld" <-- map shortname (skeld, mira, polus, airship)
```
## Deploy
This application is deployed by Netlify.
Set two environmental variables via the Netlify UI.
- `SHEETS_ID` - the id in the URL bar.
- `SHEETS_API_KEY` - an API key from Google Console.
## Local Development
Create a file called `.env` inside `back-end/` with the contents `snapshot=true`
Run both the back-end and the front-end.
`cd back-end/ && yarn install && yarn dev`
`cd front-end/ && yarn install && yarn start`
## Tests
`cd back-end/ && yarn test`