Tutti i progetti

Caso di studio · ITV di Formentera · Consell Insular · 2026

Prenotare la revisione veicoli senza code né telefonate

Sistema pubblico di prenotazione degli appuntamenti per la stazione di revisione tecnica dei veicoli (ITV), con verifica tramite PIN, ricevuta in PDF e pannello per il team della stazione.

  • Prenotazioni
  • Backoffice
  • E-mail
3

lingue

83

test automatici

0

doppie prenotazioni, per progettazione

La sfida

Gli appuntamenti si gestivano per telefono e a mano, con posti persi, doppie prenotazioni e nessun promemoria. Serviva un sito semplice per il cittadino e uno strumento agile per le operatrici, con la garanzia che due persone non potessero occupare la stessa fascia oraria.

La soluzione

Un'applicazione Node.js su Cloud Run con Firestore. Ogni fascia oraria ha il proprio documento di occupazione e le prenotazioni avvengono in transazione, il che impedisce le doppie prenotazioni anche sotto carico simultaneo. Il cittadino conferma con un PIN ricevuto via e-mail, scarica la ricevuta in PDF e può gestire i propri appuntamenti. Il pannello interno mostra la griglia giornaliera e settimanale, consente blocchi, lista nera ed esportazione CSV. Cloud Scheduler invia i promemoria e gestisce le scadenze, e la documentazione operativa, di ripristino e di sicurezza permette al Consell di gestire il servizio in autonomia.

Punti chiave del progetto

  • 01

    Niente doppie prenotazioni

    Transazioni su Firestore e test di concorrenza automatizzato.

  • 02

    Sicurezza pratica

    Helmet, limitazione delle richieste, JWT, bcrypt, Secret Manager e cifratura dei dati.

  • 03

    Backup e ripristino

    Ripristino point-in-time a sette giorni ed esportazioni giornaliere e settimanali su Cloud Storage con avvisi.

  • 04

    Qualità misurabile

    83 test, smoke test con 24 controlli in staging e passaggio di consegne documentato per fasi.

Tecnologia

  • Node.js
  • Express
  • Firestore
  • Cloud Run
  • Cloud Scheduler
  • Secret Manager
  • nodemailer
  • pdfkit
  • helmet
  • JWT
  • bcrypt
  • Cloud Monitoring
  • node --test