Presentazione del problema
Di seguito, si riporta la proposta di progetto pubblicata sul forum progetti, usata come base per definire il problema da risolvere.
Contenuti
Scenario
L’obiettivo del progetto è quello di realizzare un’applicazione web che permetta di giocare online a scacchi.
Tale applicazione sarà realizzata a partire dall’engine degli scacchi già implementato per il corso di Paradigmi di Programmazione e Sviluppo 2022-2023 (reperibile al seguente link), che sarà modificato opportunamente e a cui saranno aggiunte nuove funzionalità.
In particolare, l’engine permette di gestire un’unica partita di scacchi tra due giocatori in locale, fornendo la possibilità di configurare la partita (es.: modalità di gioco a tempo…). Questa applicazione dovrà invece permettere di gestire più partite tra diversi giocatori online.
Requisiti di massima
- Creare una partita di scacchi, pubblica o privata;
- Partecipare a una partita di scacchi casuale, se pubblica, o conoscendone l’identificatore, se privata;
- Registrarsi all’applicazione;
- Fare login all’interno dell’applicazione;
- Accedere all’applicazione come ospite (senza richiedere un account);
- Salvare i risultati delle partite, tenendo traccia delle vittorie/sconfitte degli utenti;
- Gestire il proprio profilo utente;
- Visualizzare il progresso di un certo utente nel tempo;
- Visualizzare la classifica globale dei giocatori.
Strategia di massima
Seguendo le best practice del Domain-Driven Design, si ha intenzione di decomporre il sistema in servizi il più possibile autonomi. Inoltre, si applicherà a ciascuno di essi le best practice di DevOps e Continuous Integration.