@andreabiagini5/applicazioni-e-servizi-web-project

Project for Applicazioni e Servizi Web.
2,219
Install
npm install @andreabiagini5/applicazioni-e-servizi-web-project
Latest Version:1.1.4
License:MIT
Last Updated:Mar 12, 2026
Links: GitHub  ·  npm
Maintainer: andreabiagini5

SandPiles

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.

Bugs Code Smells Duplicated Lines (%) Lines of Code Technical Debt Vulnerabilities

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.

Table of Contents

Documentation

Full technical documentation and academic report available here: Report

Features

  • Competitive matches
  • Matches against bot
  • Login to save your progress
  • Leaderboard to check your skill level

Tech Stack

Frontend

  • Vue.js + TypeScript
  • SCSS
  • MDBootstrap

Backend

  • Node.js + Express
  • Socket.IO
  • MongoDB
  • Prolog bot

DevOps

  • Build automation with npm scripts
  • Docker containerization
  • SonarCloud
  • GitHub Actions CI/CD

Installation

  1. Prerequisites:
    • Node.js v20+
    • Docker (for production)
  2. Install dependencies:
    npm install
    
  3. Configure environment:
    • Create a .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.

Running system

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.

Contributing

See CONTRIBUTING for details on how to contribute to this project.

License

MIT Licensed - See LICENSE for details.

Related Packages

form-wallet-web

form-wallet-web

1,976
web
express-vue

Vue rendering engine for Express.js

15,239 1,297
@ozdao/martyrs

Fullstack framework focused on user experience and ease of development.

11,367
yx-web-sdk

A Vue 3 component library for GitCode

4,094
es-vue

support vue for EaseScript

2,048 0

Version History

Version Released License
1.1.4 MIT
1.1.3 MIT
1.1.2 MIT
1.1.1 MIT
1.1.0 MIT