Menu · Lingua: IT
EnglishENItalianoIT
PRIVACY POLICY © 2026 Gabriele Fiorucci · Fiorucci Labs
← INDIETRO
CONCLUSO

PFSProject

PFSProject è una web app che porta online l'organizzazione degli appelli d'esame. La segreteria apre le sessioni, il docente sceglie il giorno su un calendario che gli mostra in verde dove può mettere il suo esame e in rosso dove non può, e il sistema controlla da solo che non ci siano conflitti, weekend o date fuori tempo massimo.

È un progetto didattico, nato per proporre un'alternativa all'attuale metodo di inserimento e gestione degli esami all'Università degli Studi di Brescia.

L'idea

Ogni sessione d'esame comincia con un puzzle. Decine di docenti devono scegliere le date dei propri appelli, e quelle date devono incastrarsi: due esami dello stesso anno dello stesso corso nello stesso giorno significano studenti costretti a scegliere quale saltare. Poi ci sono le scadenze, i weekend, le aule, le correzioni dell'ultimo minuto.

Oggi buona parte di questo lavoro passa per proposte, verifiche incrociate e controlli fatti a mano tra docenti e segreteria. Funziona, ma è lento, e gli errori si scoprono tardi.

PFSProject parte da una domanda semplice: e se fosse il calendario stesso a sapere quali giorni sono liberi? Invece di proporre una data e aspettare che qualcuno la controlli, il docente vede subito dove può mettere il suo esame. Le regole non sono più un documento da ricordare: sono scritte nel sistema, e valgono per tutti.

Come funziona

1. La segreteria apre la sessione. Crea la sessione d'esame indicando due periodi distinti: quando sono le sessioni d'esame e quando i docenti possono pianificarle. Così si possono aprire le iscrizioni con largo anticipo e chiuderle qualche giorno prima, per congelare il calendario.

Nuova sessione d'esame
Nuova sessione d'esame

2. Il docente sceglie il giorno. Seleziona uno dei suoi insegnamenti e il calendario si colora: verde dove può inserire un appello, rosso dove la giornata è già occupata da un altro esame dello stesso corso e anno, oppure cade nel weekend.

Il calendario del docente
Il calendario del docente

Cliccando su un giorno rosso, il sistema spiega perché non è disponibile e mostra quali esami lo occupano, con docente e orario.

Un giorno già occupato
Un giorno già occupato

3. Un clic, e l'appello è pronto. Cliccando su un giorno verde si apre il modulo di creazione con materia, sessione e data già compilate. Restano solo l'orario, il tipo di esame e l'aula.

Nuovo appello precompilato
Nuovo appello precompilato

4. Tutto in ordine, per ogni sessione. Il docente ritrova i propri appelli raggruppati per sessione. Gli esami già svolti restano visibili ma non sono più modificabili: compare la dicitura Esame concluso.

I miei esami
I miei esami

Il calendario conosce le regole

Il cuore del progetto non sono le schermate, ma i vincoli. Sono tutti verificati dal server, quindi valgono anche se qualcuno provasse ad aggirare l'interfaccia.

  • Niente sovrapposizioni. Per uno stesso corso di laurea e uno stesso anno esiste al massimo un esame al giorno: gli studenti non si trovano mai due appelli in conflitto.
  • Niente duplicati. Una materia ha un solo appello per sessione.
  • Niente weekend. Sabato e domenica non si pianifica.
  • Rispetta le scadenze. Gli appelli si inseriscono solo durante la finestra di pianificazione, e la data deve cadere dentro il periodo della sessione.
  • Ognuno il suo. Il docente crea appelli solo per le proprie materie e modifica solo i propri esami.

Quando qualcosa non va, il messaggio d'errore dice esattamente cosa correggere.

Due ruoli, una sola applicazione

Il login
Il login

Dopo il login, l'applicazione apre automaticamente l'area giusta.

Il docente vede le sue materie, i suoi appelli, le sessioni aperte e il calendario personalizzato.

La segreteria ha la vista d'insieme: il calendario di tutto l'ateneo, con le finestre di pianificazione e le sessioni d'esame evidenziate, e il controllo completo su sessioni, corsi di laurea, insegnamenti e account.

La dashboard della segreteria
La dashboard della segreteria

Dalla segreteria passano tutte le anagrafiche: gli esami di ogni docente, le sessioni, gli insegnamenti con il loro docente titolare, i corsi di laurea.

Gli esami visti dalla segreteria
Gli esami visti dalla segreteria
Le sessioni d'esame
Le sessioni d'esame
Gli insegnamenti
Gli insegnamenti

È sempre la segreteria a creare gli account dei docenti e dei colleghi. Ogni nuovo account nasce in un colpo solo, utente e profilo insieme: se qualcosa va storto a metà, non resta nulla di incompleto.

La gestione dei docenti
La gestione dei docenti

Ognuno, infine, ha la propria area personale per cambiare nome e password.

L'area personale
L'area personale

Anche dal telefono

L'interfaccia si adatta a qualunque schermo: il menu si richiude, le tabelle si compattano, il calendario resta consultabile. Un docente può controllare i propri appelli anche tra una lezione e l'altra.

La versione mobile
La versione mobile

In video

Demo completa: poco più di un minuto, dall'accesso alla pianificazione
Login e dashboard della segreteria
Il docente pianifica un appello
La segreteria gestisce sessioni e anagrafiche

Com'è fatto

Un monorepo Nx: front-end e back-end nello stesso workspace, con i tipi condivisi tra i due. Il front-end in React 19 e Vite parla con un'API REST in NestJS 11 tramite HTTP e token JWT; il back-end applica le regole di dominio e le guardie sui ruoli, e salva i dati in PostgreSQL attraverso TypeORM, dove i vincoli di unicità vengono tradotti in messaggi chiari.

L'architettura
L'architettura

Prima del codice, la progettazione: il modello dei dati, il progetto delle pagine e lo schema di navigazione tra le schermate.

Il modello ER del database
Il modello ER del database
Il progetto coarse
Il progetto coarse
Lo schema dell'ipertesto
Lo schema dell'ipertesto

Il progetto in breve

Cos'èUna web app per pianificare gli appelli d'esame universitari, con un calendario che applica da solo le regole
PerchéProgetto didattico pensato per sostituire l'attuale metodo di inserimento e gestione degli esami all'Università di Brescia
Per chiSegreterie didattiche e docenti
PiattaformaWeb, da computer e da telefono
LinguaItaliano
Realizzato conTypeScript, React, NestJS, PostgreSQL, TypeORM, Nx
ContestoCorso di Progettazione di Applicazioni Web Full Stack
AutoreGabriele Fiorucci: progettazione, sviluppo back-end e front-end

Guarda il codice: github.com/GabrieleFiorucci03/PFSProject ↗

Sviluppi Futuri

  1. Accesso con le credenziali d'ateneo (SSO), senza account separati
  2. Gestione delle aule: capienza, disponibilità e prenotazione automatica
  3. Area studenti per consultare il calendario degli appelli del proprio corso
  4. Notifiche via email all'apertura e alla chiusura delle finestre di pianificazione
  5. Esportazione del calendario (PDF, iCal) e integrazione con i sistemi dell'ateneo