Place your grains. Tip the balance. In this world of unstable equilibrium, every move can trigger a chain reaction. Conquer the board one avalanche at a time.
An online multiplayer turn-based strategy game based on the mathematical Abelian sandpile model, developed for "Applicazioni e Servizi Web" and "Software Process Engineering" exams at UniBo's Computer Science Master Degree courses.
Full technical documentation and academic report available here: Report
Frontend
Backend
DevOps
npm install
.env file in the root directory containing: DB_NAME, DB_APP_USERNAME, DB_APP_PASSWORD, DB_ADMIN_USERNAME, DB_ADMIN_PASSWORD, JWT_SECRET, JWT_EXPIRATION.The system can be executed locally, using the following commands:
npm run build && npm start
and the client can be accessed from http://localhost:4173.
To run the system in Docker, you first need to create a valid certificate and key pair using the following commands:
openssl req -x509 -newkey rsa:2048 -keyout certs/key.pem -out certs/cert.pem -days 365 -nodes -subj "/CN=sandpiles.com"
Then build and start by running the following commands:
npm run build:docker && npm run start:docker
and accessing the client using https://172.0.0.11.
See CONTRIBUTING for details on how to contribute to this project.
MIT Licensed - See LICENSE for details.