La struttura della repository si presenta nel seguente modo:
|-- build
| |-- reports
| | |-- checkstyle
| | |-- spotbugs
| | |-- jacoco/tests
| | |-- tests/test
|–– config
| |–– checkstyle
|–– doc
| |–– drawings
| |–– javadoc
| |–– Report.md
|–– gradle
|–– lib
|–– res
|–– src
| |–– main
| |–– test
|–– .gitignore
|–– build.gradle
|–– Assegnazione progetto.md
|–– README.md
|–– gradlew
|–– gradle.bat
|–– settings.gradle
Nel seguito si dettagliano i ruoli dei diversi componenti:
- build: ospita la sottocartella reports, contenente gli output dei tool automatici di test e controllo di qualità;
- config: ospita i file di configurazione. L’unica configurazione di base richiesta è quella per il tool checkstyle;
- doc: in questa cartella deve essere inserita tutta la documentazione relativa al progetto. In particolare, in drawings dovranno essere salvati i diagrammi UML e javadoc ospiterà la documentazione generata automaticamente per il codice Java. Il file Report.md rappresenta la relazione finale del progetto;
- gradle: contiene il jar per il sistema di gestione delle dipendenze Gradle.
- lib: creata per includere eventuali jar di librerie esterne utilizzate dal progetto.
- res: la cartella deve contenere tutte le risorse usate dal sistema (immagini, testi ecc.)
- src: la 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.
- build.gradle: esplicita le direttive e la configurazione per Gradle.
- Assegnazione progetto.md: fare riferimento a questo file per la descrizione dettagliata del progetto assegnato;
- gradlew & gradlew.bat: sono i file eseguibili di Gradle, rispettivamente per Unix e per Windows. Vengono generati automaticamente da Eclipse;
- settings.gradle: file di configurazione di Gradle. Anche quest’ultimo viene generato automaticamente da Eclipse.
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.
Applicazione sviluppata per l'esame di Ingegneria del Software.
Applicazione a linea di comando. L'immagine docker non è disponibile in quanto la repository originale è privata, tuttavia è ugualmente avviabile attraverso un qualsiasi terminal o ide.