_Agon
Jan 2022 - May 2023
Agon is a web application for automatically running competitions for games with (high)scores. The idea originated from running a monthly competition on the Virtual Pinball machine. An admin can add games to the database and set up timed game-by-game competitions or indefinite competitions with multiple simultaneous games.
The system uses a Discord bot to notify players what game is played that month for example, and players can also use the bot to see the leaderboards and post scores with an image for proof. A website is also present for a nicer view of the leaderboards and a more intuitive admin interface. After each month, the Discord bot also posts the winner of that month.
Agon consists of 4 major components:
- Angular frontend
- Spring Boot backend
- Discord bot using discordjs
- PostgreSQL database
There's also a Docker Compose to easily run all components on my server.