Componenti:
- Valerio Domenico Conte - M63001606
- Nike Di Giacomo - M63001641
- Alessandro Falino - M63001658
Il lavoro da noi svolto si colloca all'interno del progetto ENACTEST, che ha come obiettivo la creazione e lo sviluppo di un gioco con lo scopo di promuovere l'attività di testing e permettere ai partecipanti di cimentarsi in sfide contro sistemi automatizzati ed eventualmente altri giocatori. Per portare a termine i nostri compiti siamo partiti dai risultati raggiunti dai gruppi A1-A8, in particolare dal loro repository GitHub consultabile al seguente link: https://github.com/exo404/A1-A8-2024. Il requisito assegnato al nostro Team durante il corso di Software Architecture Design 2023/2024 è il seguente: Verificare e gestire la coerenza dei dati della partita del giocatore attualmente salvati nel File System di T8 con quelli mantenuti nel database del gioco in T4. Eventualmente rivedere le API offerte da T4 per consentire di salvare anche i dati relativi ai Turni di gioco in T4.
Scaricare Docker Desktop per il proprio sistema operativo.
Si deve avviare lo script "installer.bat" se si sta usando una distribuzione Windows oppure "installermac.sh" nel caso si utilizzi macOS o una distro di Linux. Per MacOS - eseguire nella cartella dove è presente il file ”installermac.sh” il comando "chmod +x installermac.sh" per renderlo eseguibile, e poi "./installermac.sh" per eseguirlo. Tali script dovranno essere avviati unicamnete con Docker in esecuzione, altrimenti l'installazione non partirà. Saranno effettuate le seguenti operazioni:
- Creazione della rete "global-network" comune a tutti i container.
- Creazione del volume "VolumeT9" comune ai Task 1 e 9 e del volume "VolumeT8" comune ai Task 1 e 8.
- Creazione dei singoli container in Docker desktop.
NOTA: il container relativo al Task 9 ("Progetto-SAD-G19-master") si sospenderà autonomamente dopo l'avvio. Esso viene utilizzato solo per "popolare" il volume "VolumeT9" condiviso con il Task 1.
Si deve configurare il container "manvsclass-mongo_db-1" così come descritto anche nella documentazione del Task 1. Per fare ciò bisogna fare le seguenti operazioni:
-
Posizionarsi all'interno del terminale del container
-
Digitare il comando "mongosh"
-
Digitare i seguenti comandi:
use manvsclass db.createCollection("ClassUT"); db.createCollection("interaction"); db.createCollection("Admin"); db.createCollection("Operation"); db.ClassUT.createIndex({ difficulty: 1 }) db.Interaction.createIndex({ name: "text", type: 1 }) db.interaction.createIndex({ name: "text" }) db.Admin.createIndex({username: 1})
L'intera applicazione è adesso pienamente configurata e raggiungibile sulla porta :80. Per una guida all'installazione e all'utilizzo più completa consultare la documentazione al capitolo 5.