Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ivan94fi/schoolmanager

Open more actions menu
 
 

Repository files navigation

SchoolManager

Advanced Programming Techniques Project

Build Status Coverage Status

Quality Gate Status Bugs Code Smells Technical Debt Vulnerabilities Duplicated Lines (%)

Prerequisiti

  • Maven (>=3.3.9)
  • Docker
  • Connessione Internet per la prima esecuzione

Server VNC

Per evitare un bug legato ad AssertJ Swing durante la fase test si consiglia l'utilizzo di un server VNC.

Il file execute-on-vnc.sh crea un desktop secondario tramite TightVNC, esegue lo script passatogli come argomento (in questo caso la build di Maven) nel desktop secondario, ed infine elimina il desktop all'uscita della build. È quindi richiesta l'installazione del pacchetto TightVNC:

$ sudo apt-get install -y tightvncserver

Avvio dei Test

Il comando completo per l'esecuzione della build e dei test con Maven è il seguente, da eseguire nella root directory della repository:

$ ./execute-on-vnc.sh mvn -f schoolmanager-aggregator/pom.xml clean verify

Se il file $HOME/.vnc/passwd non è presente (non sono mai stati creati display secondari), è richiesto l'inserimento di una password di minimo 6 caratteri (necessaria) e di una password di visualizzazione (non necessaria, inserire \texttt{n} quando richiesta).

Test con JaCoCo e PIT

Sono definiti dei profili per il calcolo della code coverage con JaCoCo e per l'esecuzione della mutation analysis tramite PIT: per attivarli è sufficiente aggiungere le seguenti opzioni al comando precedente:

-P enable-jacoco -P enable-mutation-testing

Avvio dell'applicazione

  • Avviare il container docker attraverso il seguente comando digitato dalla root della repository
mvn -f schoolmanager-parent/pom.xml docker:start
  • Eseguire il seguente comando dalla root della repository:
java -jar schoolmanager-frontend/target/schoolmanager-frontend-0.0.1-SNAPSHOT-jar-with-dependencies.jar

L'applicazione utilizza il database PostgreSQL di default se si desidera cambiarlo è possibile farlo attraverso l'opzione -p o --persistence-unit-name, scegliendo tra MYSQL e POSTGRES

java -jar schoolmanager-frontend/target/schoolmanager-frontend-0.0.1-SNAPSHOT-jar-with-dependencies.jar -p MYSQL

About

Advanced Programming Techniques Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 99.7%
  • Shell 0.3%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.