Progetto di Busin Lorenzo, D'adamo Andrea, Demartini Riccardo, Dervishi Claudio, Rizzi Davide, Sanua Mattia per il corso di Ingegneria del Software università di Pavia.
Ispirati da svariate app di budget e finanza nasce "La Vault", un software che punta ad unificare tutte le più famose funzioni per la gestione finanziaria, dal classico conto, allo scambio di denaro, fino alla gestione dell'agenda delle spese, con un occhio anche alle spese di gruppo con anche uno sguardo verso le spese di gruppo.
- LaVault e un software implementato in java, con un'architettura a livelli (interfaccia - logica - persistenza) dove i primi due livelli sono stati inglobati in una seconda architettura MVC e il livello di persistenza è implementato utilizzando il pattern DAO.
- L'intero progetto si basa fortemente sul corso di "Programmazione a oggetti e ingegneria del software" dell'Università di Pavia facendo quindi uso di svariati insegnamenti tra cui pattern, architetture, e l'intero linguaggio java.
- Il software nasce come un progetto universitario svolto da sei studenti con l'idea di unificare diverse funzionalita dei software di budget e finanze in un unico e comodo software, per farlo si è pensato anche al multi utente cosi che i dati non siano locali ma collegati ad un account senza però mai arrivare ad una vera e propria architettura client-server.
Durante lo sviluppo sono state utilizzate alcune tecnologie tra cui:
- MySQL connector
- JSwing
- Software: per la compilazione del codice (consigliato: IntelliJ IDEA o Eclipse)
- Database: MySQL Workbench
- Nel software scelto per la compilazione è necessario importare la seguente repository git
git clone https://github.com/IngSW-unipv/Progetto-n25.git LaVault
- Creare un'istanza nel database
- Eseguire il codice presente in initsql.sql che genere un'istanza con dati per una piccola demo
- Il software funziona tramite alcune proprietà utilizzate per la selezione del metodo di persistenza (MySQLDAO già implementato)
- All'interno del file app.properties modificare le seguenti proprietà per la connessione al proprio database
dbname = <DBname>
host = <Host>
port = <Port>
username = <Username>
password = <Password>
Ovvero:
<DBname>
: nome dello schema da utilizzare<Host>
: indirizzo IP della macchina che ospita il DB<Port>
: socket su cui connettersi<Username>
: Username del utente che utilizera il DB (si consiglia di crearne uno apposito)<Password>
: Password del utente
- Il software e avviabile tramite l'editor eseguendo la classe main al interno di MainApp.java
- Elencati ora alcuni acount demo (Username, Password, Email) pronti all'utilizzo:
('dada' ,'ciao' ,'[email protected]')
('cla' ,'miao' ,'[email protected]')
('dema' ,'bau' ,'[email protected]')
('buso' ,'pluto' ,'[email protected]')
('tia' ,'paperino','[email protected]')
('davide','gatto' ,'[email protected]')
- Il software è tranquillamente trasformabile in un eseguibile seguendo le linee guida dell'editor utilizzato.
- Il database può essere anche creato vuoto e gli utenti creati singolarmente tramite le registrazioni (in tal caso eseguire solo la parte DDL del file
initsql.sql
)