Requirements


Functional Requirements:

L’applicazione web permetterà agli utenti di creare un account personale registrandosi con email e password. Ogni utente potrà collegare una o più automobili al proprio profilo inserendo la targa del veicolo

gli utenti potranno vedere quanti posti auto sono disponibili nel parcheggio e prenotare un posto scegliendo giorno e orario.

L’applicazione dovrà gestire anche i pagamenti. L’utente potrà collegare una carta di pagamento e il costo del parcheggio verrà addebitato automaticamente in base al tempo in cui l’auto rimane nel parcheggio.

L’ingresso e l’uscita dal parcheggio saranno automatici grazie a un sensore simile al Telepass oppure a un sistema che legge la targa della macchina. Quando l’auto entra, il sistema riconosce la targa, controlla la prenotazione e apre la sbarra. Quando l’auto esce, il sistema registra l’orario di uscita, calcola il tempo di permanenza e addebita il costo sulla carta dell’utente.

Se un utente prenota un posto ma non si presenta entro un certo tempo, la prenotazione verrà annullata automaticamente e il posto tornerà disponibile per altri utenti.

Per evitare overbooking, il sistema aggiornerà i posti disponibili in tempo reale: ogni volta che una macchina entra verrà occupato un posto, mentre quando una macchina esce il posto tornerà disponibile.



Non-Functional Requirements:

Il sistema dovrà essere veloce e rispondere rapidamente.

Il riconoscimento della targa e l’apertura della sbarra dovranno avvenire in pochi secondi.

L’applicazione dovrà funzionare correttamente anche con molti utenti collegati contemporaneamente.

Il sistema dovrà effettuare dei backup automatici per proteggere le informazioni salvate.

Per garantire la sicurezza, i dati personali degli utenti e i dati di pagamento dovranno essere protetti. Le password dovranno essere salvate in modo sicuro.

In caso di problemi ai sensori o alla connessione, il sistema dovrà continuare a funzionare oppure permettere una gestione manuale del parcheggio.



API Design

Define the APIs expected from the system. This is your chance to analyze and define the read and write paths so that you can come up with the high-level design...




High-Level Design

Interfaccia utente web

Backend

Database

Sensori del parcheggio come telepass

Sistema di pagamento tramite web


Detailed Component Design

I componenti principali del sistema sono la gestione delle prenotazioni, il sistema di ingresso/uscita e il sistema di pagamento.

La gestione delle prenotazioni controlla i posti disponibili e crea una prenotazione solo se c’è spazio. Aggiorna i posti in tempo reale quando un’auto entra o esce, evitando overbooking tramite operazioni sicure sul database.

Il sistema di ingresso/uscita usa un sensore (tipo Telepass o riconoscimento targa) per identificare le auto. Se la prenotazione è valida, apre la sbarra e registra l’orario di ingresso e uscita, calcolando il tempo di permanenza.

Il sistema di pagamento addebita il costo del parcheggio in base al tempo reale di utilizzo, aggiornando automaticamente l’importo finale.

Questi componenti devono essere veloci, affidabili e scalabili per gestire molti utenti contemporaneamente.