“Beans” is a small REST API based game I created where each player compeats by writting the best Bot to steal virtual beans from other players. Each player gets 1000 beans at the start of the day and whoever has the most at the end of the day wins and is saved to the winner file. Players interact with the API using JSON based REST requests secured with JWT. Every player is restricted to a number of API calls per hour and can only make 1 request every 5 second. I opted to use a WAL instead of a Database as the project is so simple.
This project is written in GO and uses a automated build pipeline with Jenkins to pack the program into a container and deploy it to a small K8s Cluster.