Portale per le scuole - Istituto Nazionale di Fisica Nucleare
Un portale pensato per gestire le iscrizioni ai progetti didattici erogati dall'INFN. Una applicativo basato su Laravel e ospitato nell'infrastruttura proprietaria dell'istuto con la capacità di accettare +50.000 iscrizioni all'anno

Introduzione
La piattaforma nasce dall’esigenza di dover gestire in modo scalabile la registrazione ai progetti INFN per le scuole da parte di studenti e docenti da tutti gli istituti italiani. Trattandosi di volumi elevati si è optato fin da subito di supportare la fase di registrazione di questi ultimi usando il database meccanografico nazionale che ogni anno viene aggiornato con tutti gli istituti pubblici, privati e paritari del territorio italiano e delle province autonome; questo ha permette agli utenti di effettuare una registrazione selezionando correttamente il proprio indirizzo scolastico e venendo quindi agganciati opportunamente alla sede INFN di pertinenza (con i relativi progetti correlati).
Il progetto è in fase di documentazione. Nel frattempo visita la demo!
La richiesta
Oltre alle esigenze di cui sopra il progetto ha visto la necessità di essere ospitato integralmente nell’infrastruttura proprietaria di INFN in una macchina virtuale in cui per motivi di policy non poteva eseguire alcun processo Node.js. Per non vanificare l’utilizzo di Next sul frontend si è quindi optato per una build in runtime sul Gitlab proprietario di INFN (Baltig) al fine di completare la build in una VM containerizzata dedicata e servire il pacchetto statico al server. Per il backend invece, trattandosi di Laravel si è deciso di strutturare una pipeline semplice che si occupasse di svuotare la cache e completare alcune attività di routine standard.
Come ho lavorato
Il progetto ha richiesto un approccio full-stack e trasversale, che mi ha visto coinvolto su più livelli dello stack tecnologico. Ho gestito lo sviluppo backend e frontend, oltre a fornire supporto tecnico al team IT dell'INFN per la configurazione del server di produzione, occupandomi di aspetti quali la gestione degli utenti, i permessi delle directory, la configurazione del web server e la struttura delle cartelle di progetto.
Definizione delle tecnologie
Individuati i framework backend e frontend da usare in relazione alle risorse disponibili
Primi interventi operativi con team IT di INFN
Definizione degli accessi, configurazione dei repository /backend e /frontend su Baltig (Gitlab), scambio credenziali
Setup applicativo e primo test
Realizzato MVP e riprodotte alcune funzionalità principali, test in produzione, verifica delle pipeline, approvazione dello sviluppo frotend