ApexFlow
Una dashboard CRM e di analytics: Angular 19 con Signals e RxJS nel frontend, Spring Boot 3 e PostgreSQL nel backend.
La mia tesi in Ingegneria Informatica, costruita durante il tirocinio in IPS S.p.A. nel 2026.
- Angular
- Signals
- RxJS
- PrimeNG
- Spring Boot
- PostgreSQL

Contesto
Per la tesi in Ingegneria Informatica volevo un progetto con problemi reali da risolvere. ApexFlow simula una piattaforma SaaS con cui un'azienda tecnologica gestisce clienti, abbonamenti, prodotti e ordini, con i vincoli di un sistema in produzione.
Com'è costruito
- Single-page app in Angular 19 con componenti standalone e Signals per lo stato.
- PrimeNG per i componenti che mostrano molti dati: tabelle, form, dialog e notifiche.
- Accesso basato sui ruoli con route guard (impostazioni solo per gli admin, pagine profilo visibili al proprietario o a un admin).
- Interceptor HTTP che aggiungono il token e trasformano gli errori delle API in notifiche, in un unico punto.
- API REST in Spring Boot 3 su Java 21 con Spring Data JPA, PostgreSQL e Docker; frontend su Vercel, backend su Render.
Scelte chiave
Signals per lo stato, RxJS dove conta il tempo
Lo stato dell'autenticazione vive nei signal, così i componenti non si iscrivono né si disiscrivono a mano. RxJS resta dove è lo strumento giusto: il debounce dei filtri e l'annullamento delle richieste non più attuali.
Tabelle lato server con una sola classe di stato riutilizzabile
Una classe TablePaginationState tiene pagina, ordinamento e filtri nell'URL e collega signal e observable con toSignal e toObservable. Cambiare un filtro o una pagina fa partire una sola chiamata, e ogni tabella dell'app riusa la stessa logica.
Spring Boot invece di un backend JavaScript
Con NestJS avrei scritto tutto in TypeScript, ma Spring Boot era lo stack che la maggior parte degli annunci che leggevo chiedeva accanto ad Angular. Con due linguaggi il contratto tra client e server deve essere esplicito: ogni campo su cui conta il frontend è una scelta.
Risultato
Mi sono laureato ad aprile 2026 con ApexFlow come tesi. La demo online ha account di prova con un clic, per un admin e per un utente normale.