VLAB —
laboratori
didattici.
Piattaforma all-in-one per la prenotazione di laboratori virtuali e fisici. SSO SAML, gestione gruppi, statistiche utilizzo e ticket di supporto integrato — su architettura microservizi containerizzata.
Cos'è
VLAB Booking.
Una piattaforma cross-ruolo per gestire l'intero ciclo di vita dei laboratori didattici: gli studenti prenotano slot, i docenti coordinano gruppi e prenotazioni, l'IT amministra le risorse e monitora l'utilizzo — tutto da un'unica console basata su single sign-on di ateneo.
Da dove siamo
partiti.
Laboratori didattici prenotati via ufficio didattica, calendari Google condivisi tra docenti, conflitti di slot gestiti al telefono. Nessuna visibilità su occupazione reale, sovrapposizioni e finestre di manutenzione — l'IT scopriva i problemi solo a danno fatto.
La sfida
Gestire la prenotazione di decine di laboratori didattici da parte di centinaia di docenti, con quattro ruoli distinti — docente, studente, tecnico di laboratorio, ufficio didattica. Infrastruttura modulare per prenotazioni, calendari, gestione utenti e audit. Federation SAML d'Ateneo come unica fonte di identità.
Il nostro approccio
Monorepo Nx con cinque servizi containerizzati, ognuno responsabile di un dominio. RBAC con quattro viste distinte, ognuna pensata sul flusso reale del ruolo. Deploy infrastructure-as-code su cluster di Ateneo. Dimostrazioni settimanali con tecnici di laboratorio e ufficio didattica per validare ogni iterazione.
Il risultato
Prenotazione laboratori centralizzata su una sola piattaforma, conflitti di slot eliminati alla radice, audit completo su ogni movimento. Infrastruttura modulare pronta a scalare su nuovi dipartimenti senza rifare l'architettura — stesso codice, nuova configurazione.
Funzionalità
chiave.
Sei aree principali della piattaforma. Ogni area è esposta come modulo NestJS con guard di ruolo dedicati e statistiche integrate.
Prenotazioni
lab
Slot temporali con controllo durata, stati (processedAt, completedAt), cancellazione cascade dei figli collegati.
Laboratori
& statistiche
Catalogo risorse, configurazione capienza, dashboard lab-statistics con utilizzo per periodo e ruolo.
Gruppi
studenti
Docenti gestiscono coorti, assegnano laboratori, prenotano in blocco. Visibilità solo sui propri gruppi.
Firma
contratti
Modulo contract-signature per accettazione regolamenti lab. Storico firme audit-ready.
Ticket
supporto
Service separato (vlabooking-support) per richieste IT. Coda dedicata, niente accoppiamento col core booking.
Notifiche
dashboard
Reminder slot, cambi di stato, comunicazioni amministrative. Trigger orchestrati dallo scheduler.
Quattro ruoli,
quattro viste.
RBAC granulare con quattro profili distinti. SAML porta le identità dall'ateneo, JWT le mantiene tra i servizi — il guard NestJS filtra le query a livello di repository.
Student
- Prenota slot lab disponibili
- Visualizza propri impegni
- Firma contratti regolamento
- Apre ticket di supporto
- Riceve reminder e notifiche
Lecturer
- Crea e gestisce gruppi
- Prenota in blocco per coorti
- Assegna laboratori a corsi
- Vede statistiche dei propri gruppi
- Approva richieste eccezionali
Administrator
- Gestione completa utenti
- Configurazione laboratori
- Statistiche aggregate ateneo
- Override prenotazioni
- Gestione contratti master
IT
- Gestione risorse infrastrutturali
- Triage ticket di supporto
- Monitoraggio scheduler & job
- Configurazione SAML & SSO
- Audit log e diagnostica
Cinque servizi,
un solo monorepo.
Nx 19 orchestra cinque pacchetti indipendenti: API core, frontend Angular, scheduler standalone, microservizio supporto, libreria DB condivisa. Deploy Docker multi-immagine dietro nginx.
vlabooking
-be
Core REST API: prenotazioni, lab, gruppi, contratti. Auth SAML+JWT, guard RBAC.
vlabooking
-fe
Console PrimeNG con viste per studenti, docenti, admin e IT. Lazy loading per ruolo.
vlabooking
-scheduler
Job temporali isolati: reminder, transizioni di stato, completamento automatico slot.
vlabooking
-support
Microservizio dedicato ticket. Coda separata, scaling indipendente dal core booking.
db
-lib
Schema, modelli e accesso DB condivisi tra tutti i servizi. Una sola sorgente di verità.
Caratteristiche
tecniche.
Decisioni che difendono la piattaforma a lungo termine: stati di workflow espliciti, cascade controllata, scheduler isolato, container ognuno per il suo dominio.
Tech
stack.
Monorepo Nx con cinque servizi containerizzati. NestJS per il backend, Angular 17 con PrimeNG per la console, Passport per l'orchestrazione SAML/JWT.
Studenti che prenotano in tre tap, IT che dorme la notte.
Gestisci ancora le aule
via ufficio didattica?
Costruiamo sistemi di prenotazione multi-ruolo per atenei: monorepo modulare, federation SAML d'Ateneo, infrastruttura containerizzata scalabile a nuovi dipartimenti. Mandaci due righe — rispondiamo entro 48h.