Sistema di gestione presenze per corsi formativi con dashboard multi-ruolo
Ho sviluppato un sistema completo di registro elettronico per la gestione delle presenze nei corsi formativi "Learning By Projects". L'applicazione permette di tracciare la partecipazione degli studenti, gestire approvazioni e monitorare l'andamento dei corsi attraverso un sistema multi-ruolo.
Il progetto è stato realizzato con un'architettura moderna utilizzando Spring Boot per il backend e Angular per il frontend, garantendo scalabilità, sicurezza e un'esperienza utente ottimale. Il sistema gestisce tre tipologie di utenti con permessi differenziati e workflow di approvazione strutturati.
Pagina di login sicura implementata con Spring Security. Design moderno con form centralizzato in ambiente aziendale professionale. Il sistema gestisce l'autenticazione e l'autorizzazione per i tre ruoli differenti, garantendo accesso sicuro alle funzionalità specifiche per ogni tipologia di utente.
Pannello di controllo principale per gli amministratori del sistema. Mostra le sezioni "Le Mie Presenze" per visualizzare e gestire tutte le presenze del sistema. L'interfaccia pulita e moderna permette una navigazione intuitiva tra le diverse funzionalità amministrative.
Interfaccia dedicata ai tutor che permette di gestire i propri studenti (Tutorati), visualizzare le presenze e gestire le approvazioni. Include sezioni per "Recruits" (gestione nuovi studenti), "Tutors" (colleghi) e "Approvazioni" con indicatori di presenze in attesa di conferma.
Interfaccia semplificata per gli studenti che permette di visualizzare "I miei recruits" (le proprie presenze registrate) e le "Approvazioni" ricevute. Design user-friendly che facilita la consultazione del proprio percorso formativo e dello stato delle presenze.
Backend: Java con Spring Boot per la logica di business, Spring Security per l'autenticazione e autorizzazione, JDBC per l'accesso ai dati e Maven per la gestione delle dipendenze. API REST per l'esposizione dei servizi e integrazione email per le notifiche automatiche.
Frontend: Angular con TypeScript per un'interfaccia utente moderna e reattiva. Componenti modulari e servizi per la comunicazione con le API backend, garantendo un'architettura scalabile e manutenibile.
Database: H2 Database per ambiente di sviluppo, permettendo test rapidi e deployment semplificato. Schema normalizzato per gestire utenti, ruoli, presenze e approvazioni con relazioni ben strutturate.