Opinione360 è un sistema di consultazione basato su un'architettura client-server che permette ad aziende o enti pubblici di creare votazioni o sondaggi rivolti a gruppi di persone selezionate di volta in volta (che devono essere preventivamente registrate con una propria e-mail, una password e un nome utente). Per un maggior livello di sicurezza le votazioni richiedono al votante di autenticarsi tramite un servizio esterno che ne permette l'identificazione. Gli utenti del sistema sono divisi in tre categorie: amministratore (si occupa della creazione delle consultazioni), candidato o votante.
- Java 21
- Java Swing 21
- MYSQL 8.0
Note
Versione minima Java 11
Il sistema utilizza le seguenti librerie:
- MySQL Connector/J 8.3.0 per il collegamento al DB
- Sqlite-jdbc 3.43.0.0 per il DB locale del client
- JUnit 4.13.1 per lo svolgimento dei test
- Google Gson 2.10.1 per lo scambio di oggetti client/server
- JFreeChart 1.5.4 per disegnare i grafici
- FlatLaf 3.4 per il look an feel della GUI
Tip
Si consiglia l'utilizzo di IntelliJ Idea o di Eclipse per visualizzare i file del progetto
- Clonare il progetto o farne un fork tramite git, github o un IDE che integri git
- Scaricare le librerie indicate nella sezione Dipendenze del README
- Preparare un istanza di database Mysql e creare lo schema tramite lo script
- Creare un file properties.poperties in una directory Server/properties che includa i seguenti dati:
port.number = <server_port>
backlog = <max_num_of_client>
DBDRIVER = com.mysql.cj.jdbc.Driver
DBURL = jdbc:mysql://<dbms_host>:<dbms_port>/%s
db_usn = <db_username>
db_psw = <db_password>
[!NOTE] É possibile utilizzare un DBMS differente rispetto a Mysql; in quel caso occorre utilizzare il driver specifico
- Creare un file properties.properties in una directory Client/properties che includa i seguenti dati:
- La classe contenente il main per il server è model.Opinione360App; la classe contenente il main per il client è opinione360.Opinione360App
Tutto il codice di Opinione360 è rilasciato sotto licenza MIT