|
| 1 | +This project contains three parts: |
| 2 | + |
| 3 | +- keystone: The keystone server which handles creating the database schema as well as requests from the frontend. |
| 4 | +- frontend: The frontend which handles the user interface. |
| 5 | +- backend: The backend which handles the retrieval of data from Riot Games. |
| 6 | + |
| 7 | +It also uses the postgres docker container to run the database. |
| 8 | + |
| 9 | +## Getting Started |
| 10 | + |
| 11 | +This project requires [Docker and docker-compose](docker.io) to be installed on your machine. |
| 12 | + |
| 13 | +Inside the `docker-compose.yaml` file, you can change the Postgres database credentials if you wish. Afterwards, a `.env` file needs to be created with the following contents: |
| 14 | + |
| 15 | +- DATABASE_URL: The URL to the database. |
| 16 | +- RIOT_KEY: The API key to use for the Riot Games API. |
| 17 | + |
| 18 | +Then, simply run `docker-compose up -d --build` to create and start the containers. |
| 19 | + |
| 20 | +The frontend is reachable at [http://localhost:3000](http://localhost:3000) with your browser. |
| 21 | +The keystone backend is reachable at [http://localhost:8000](http://localhost:8000) with your browser. |
| 22 | +The graphql playground is reachable at [http://localhost:8000/api/graphql](http://localhost:8000/api/graphql). |
| 23 | + |
| 24 | +Files in the frontend or backend folders should automatically update when you make changes to the code. |
| 25 | +Files in the keystone folder will require the keystone container to be restarted. |
| 26 | + |
| 27 | +## Pull Requests |
| 28 | + |
| 29 | +Pull requests are welcome as I consider this project still in its infancy. The frontend is definitely the place where I have spent the least amount of time. |
| 30 | + |
| 31 | +## TODO |
| 32 | + |
| 33 | +- [ ] Add match timeline to keystone schema. |
| 34 | +- [ ] Add match timeline retrieval to backend. |
| 35 | +- [ ] Implement useful metrics from timeline to frontend. |
| 36 | +- [ ] Pretty up the frontend. |
| 37 | +- [ ] I am confident the data retrieval could be improved. |
| 38 | +- [ ] Write own utilities for retrieving data from Riot Games. |
| 39 | +- [ ] Write tests. |
0 commit comments