La struttura della repository si presenta nel seguente modo:
|-- .github
| |-- workflows
| | |-- docker_build&push.yml
| | |-- gradle_build.yml
|-- build
| |-- reports
| | |-- checkstyle
| | |-- spotbugs
| | |-- tests/test
|–– config
| |–– checkstyle
| |–– pmd
|–– docs
| |–– img
| |–– Assegnazione progetto.md
| |–– CODE_OF_CONDUCT.md
| |–– Guida per lo studente.md
| |–– ISPIRATORE.md
| |–– Report.md
|–– drawings
|–– gradle
|–– lib
|–– res
|–– src
| |–– main
| |–– test
|–– .gitattributes
|–– .gitignore
|–– Dockerfile
|–– README.md
|–– build.gradle
|–– gradlew
|–– gradlew.bat
|–– settings.gradle
Nel seguito si dettagliano i ruoli dei diversi componenti:
.github/workflows/
: contiene i file che dettagliano le direttive per assicurare la continuous integration attraverso l’uso di GitHub Actions.build/
: ospita la sottocartella reports/
, contenente gli output dei tool automatici di test e controllo di qualità.config/
: ospita i file di configurazione. Le configurazioni di base richieste sono quelle per i tool checkstyle e PMD.docs/
: ospita la documentazione di progetto, incluse le figure (nella sottocartella img/
).
Il file Report.md
verrà usato per redigere la relazione finale del progetto.
La cartella raccoglie inoltre:
Assegnazione progetto.md
: contenente la descrizione dettagliata del progetto assegnato;CODE_OF_CONDUCT.md
: dettaglia il codice di comportamento del gruppo;Guida per lo studente.md
: contenente la descrizione di tutti i passi di configurazione necessari per l’attivazione del flusso di lavoro a supporto dello sviluppo del progetto;ISPIRATORE.md
: riporta biografia e principali contributi del personaggio a cui il gruppo si è ispirato per il nome.drawings/
: contiene tutti i diagrammi UML usati per descrivere il progetto.gradle/
: ospita il .jar
relativo al sistema di gestione delle dipendenze Gradle.lib
: include eventuali librerie esterne utilizzate dal progetto.res
: contiene risorse varie utilizzate dal sistemasrc
: cartella principale del progetto, in cui scrivere tutto il codice dell’applicazione. In main/
ci saranno i file sorgente e test/
conterrà i test di unità previsti..gitignore
: specifica tutti i file che devono essere esclusi dal sistema di controllo versione.Dockerfile
: file di configurazione per la creazione di un’immagine Docker.build.gradle
: esplicita le direttive e la configurazione di Gradle.gradlew
e gradlew.bat
: eseguibili di Gradle, rispettivamente dedicati a Unix e Windows.settings.gradle
: file di configurazione di Gradle.In alcune cartelle è possibile notare la presenza di un unico file nascosto .keep
: questo ha il solo scopo di richiedere a Git l’inclusione delle cartelle in cui è contenuto (Git esclude dal versioning le cartelle vuote). Pertanto, il file può essere ignorato o eventualmente cancellato nel momento in cui si inserisca almeno un altro file all’interno della cartella.