Skip to content

Gabri739/Progetto-SIW---Edicola

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 Edicola Digitale Fiumicino - Sistema di Gestione Prenotazioni

Java Spring PostgreSQL HTML5 CSS3

Questo progetto consiste in un portale web interattivo per un'edicola reale situata a Fiumicino. Il sistema permette di gestire digitalmente il catalogo prodotti e automatizzare il processo di prenotazione e ritiro per i clienti.


🛠️ Stack Tecnologico

Il progetto segue l'architettura MVC (Model-View-Controller):

  • Backend: Java con Framework Spring (Spring Tool Suite).
  • Persistenza: PostgreSQL con gestione tramite PgAdmin4.
  • ORM: Spring Data JPA per il mapping relazionale degli oggetti.
  • Frontend: HTML5 e CSS3 per un'interfaccia utente pulita e responsiva.

👥 Funzionalità del Sistema

👤 Lato Cliente

  • Catalogo Prodotti: Esplorazione completa dei prodotti disponibili nell'edicola.
  • Carrello e Prenotazione: Possibilità di aggiungere prodotti al carrello, selezionare le quantità e prenotare il ritiro con pagamento in loco.
  • Area Personale: Gestione delle credenziali e visualizzazione dello storico ordini (Ricevuti, In Lavorazione, Completati).
  • Centro Notifiche: Un'area messaggi dedicata dove il cliente riceve una notifica in tempo reale per ogni cambio di stato del proprio ordine.

👑 Lato Amministratore

  • Gestione Catalogo (CRUD): Caricamento di nuovi prodotti, modifica dei prezzi/dati e cancellazione di articoli esistenti.
  • Gestione Ordini: Monitoraggio di tutte le prenotazioni dei clienti.
  • Aggiornamento Stati: Possibilità di cambiare lo stato degli ordini (es. da "In lavorazione" a "Pronto per il ritiro") per informare il cliente.

📊 Schema E-R (Entity-Relationship)

Di seguito è riportata la struttura del database che gestisce le relazioni tra utenti, prodotti e notifiche.

erDiagram
    UTENTE ||--o{ ORDINE : effettua
    UTENTE ||--o{ NOTIFICA : riceve
    ORDINE ||--|{ DETTAGLIO_ORDINE : "composto da"
    PRODOTTO ||--o{ DETTAGLIO_ORDINE : "inserito in"
    ORDINE ||--o{ NOTIFICA : genera

    UTENTE {
        int id PK
        string email
        string password
        string ruolo "ADMIN / CLIENTE"
    }
    PRODOTTO {
        int id PK
        string nome
        float prezzo
        int quantita_disponibile
    }
    ORDINE {
        int id PK
        timestamp data_ordine
        string stato "Ricevuto / In Lavorazione / Pronto"
    }
    NOTIFICA {
        int id PK
        string messaggio
        boolean letto
        timestamp data_invio
    }
Loading

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 41.0%
  • Java 36.4%
  • CSS 22.6%