Skip to content

IngSW-unipv/Progetto-V25

Repository files navigation

✈️ Aerotrack – Sistema Universitario di Gestione Aeroportuale

Backend: Java

GUI: Swing

Database: MySQL

Test: JUnit 5


Descrizione

Aerotrack è un sistema didattico sviluppato in Java per la gestione di aeroporti, voli, passeggeri e prenotazioni.
Il software include una GUI intuitiva realizzata con Java Swing, interazione con database MySQL, utility per import/export dati e test JUnit per garantire affidabilità e robustezza.


Funzionalità Principali

  • Gestione Aeroporti: creazione, rimozione, ricerca, importazione/esportazione CSV.
  • Gestione Voli: creazione, rimozione, ricerca (per codice, partenza, destinazione), assegnazione piste.
  • Gestione Prenotazioni: creazione, cancellazione, ricerca per passeggero o volo.
  • Gestione Passeggeri: inserimento automatico tramite prenotazione, ricerca.
  • Calcolo Distanze: utility per calcolare la distanza tra aeroporti tramite formula di Haversine.
  • Interfaccia Multi-tab: navigazione semplice tra le sezioni principali.
  • Test JUnit: copertura delle classi modello e dei servizi fondamentali.

Dipendenze


Installazione e Setup

1. Clona il repository

git clone https://github.com/IngSW-unipv/Aerotrack.git

2. Importa il progetto nell’IDE

  • Apri il tuo IDE preferito.
  • Importa come progetto Java standard.

3. Configura il Database

  • Installa MySQL e MySQL Workbench.
  • Crea uno schema chiamato aerotrack.
  • Importa la struttura delle tabelle tramite il file AEROTRACK.sql presente nella root del progetto.
  • (Facoltativo) Importa dati di esempio tramite TABELLE.sql.

4. Configura la connessione al database

  • Modifica il file /properties/dbconfig.properties con i parametri della tua istanza:
    db.url=jdbc:mysql://localhost:3306
    db.username=<tuo_utente>
    db.password=<tua_password>
    db.driver=com.mysql.cj.jdbc.Driver
    

Avvio dell’Applicazione

  • Avvia la classe:

    it.unipv.ingsfw.aerotrack.test.MainApp
    

    oppure esegui MainApp dal tuo IDE.

  • Naviga tra i tab:

    • Benvenuto: schermata introduttiva
    • Aeroporti: gestione CRUD e CSV aeroporti
    • Voli: gestione voli
    • Prenotazioni: aggiunta/cancellazione e ricerca prenotazioni

Struttura del Progetto

  • /models - Entità principali (Aeroporto, Volo, Prenotazione, Passeggero)
  • /dao - Data Access Object per la persistenza su MySQL
  • /services - Logica di business e validazione
  • /view - Interfaccia grafica Swing (pannelli e frame)
  • /utils - Utility di supporto (calcolo distanze, CSV)
  • /test - Test manuali e automatici (JUnit)
  • /properties - Configurazione database

Esempio di Utilizzo

  1. Aggiungi aeroporti tramite il tab Aeroporti.
  2. Crea un volo tra due aeroporti dal tab Voli.
  3. Prenota un passeggero su un volo dal tab Prenotazioni.
  4. Esporta/importa aeroporti in formato CSV.

Buon viaggio con Aerotrack!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •