ELA — il portale sugli esiti dei laureati polacchi
Una base di codice, tre piattaforme, una voce di budget ricorrente in meno.
- 1 → 3
- base di codice per piattaforme
- 2
- app mobile pubblicate
- public sector
- obblighi di accessibilità
Contesto
Frontend di ELA, il sistema nazionale che monitora occupazione e retribuzioni dei laureati polacchi, sviluppato presso OPI-PIB per il Ministero della Scienza. Oltre al portale ho proposto e costruito una strategia multipiattaforma che ha riusato lo stesso repository Angular invece di finanziare due applicazioni native.
Il prodotto
- Cosa fa
- Pubblica come se la cavano davvero i laureati polacchi sul mercato del lavoro — retribuzioni e occupazione dalla laurea fino a cinque anni dopo, per corso di studi e per ateneo.
- Chi lo usa
- Studenti che devono scegliere un corso, più ricercatori e analisti che lavorano sui dataset e sui report sottostanti.
- Da dove vengono i dati
- Registri della previdenza sociale (ZUS) incrociati con il sistema nazionale dell'istruzione superiore (POL-on).
- Chi lo gestisce
- Costruito e mantenuto da OPI-PIB, l'istituto di ricerca statale, per conto del Ministero della Scienza e dell'Istruzione Superiore.
Il problema
L'istituzione aveva bisogno di un portale pubblico molto reattivo e accessibile, costruito a partire da prototipi grafici dettagliati — e, separatamente, di una presenza mobile. La risposta di default era commissionare applicazioni native iOS e Android, cioè tre basi di codice e tre contratti di manutenzione per un solo prodotto.
Architettura
Scorri lateralmente per vedere tutto lo schema
Un repository Angular, tre destinazioni di rilascio. Non c'è una base di codice mobile parallela né un fork per piattaforma: la stessa applicazione viene incapsulata per iOS e Android, quindi ogni correzione e ogni funzionalità si scrive una volta sola e arriva su tutte e tre.
Specifica tecnica
- Frontend
- Angular, costruito dai prototipi Adobe XD, responsive su tutta la gamma di dispositivi che un portale pubblico deve servire.
- Mobile
- CapacitorJS che incapsula la stessa applicazione Angular, pubblicata come app iOS e Android.
- Team
- Due sviluppatori frontend, due designer UX e un tester; ho guidato l'implementazione frontend.
- Accessibilità
- Costruito secondo gli obblighi di accessibilità che valgono per i servizi pubblici polacchi — navigazione da tastiera, semantica e contrasto come criteri di accettazione.
- Perimetro
- Portale pubblico più la strategia mobile; i dataset analitici e i report passano dalla stessa interfaccia.
Come l'ho costruito
Ho guidato l'implementazione frontend in un team di due sviluppatori frontend, al fianco di due designer UX e un tester — i prototipi erano loro; renderli reali, responsive e veloci era compito mio.
Ho tradotto prototipi Adobe XD complessi in un'interfaccia Angular fedele al design e allo stesso tempo davvero responsive su tutta la gamma di dispositivi che un portale pubblico deve servire.
Ho trattato l'accessibilità come requisito e non come voce di audit — la portata del settore pubblico in Polonia rende navigazione da tastiera, semantica e contrasto parte di quello che consideriamo finito.
Ho proposto e costruito una strategia multipiattaforma con CapacitorJS, incapsulando l'applicazione Angular esistente in shell native e pubblicandola su entrambi gli store.
L'ho tenuta come un'unica applicazione, non come una build web più un fork mobile: non esiste una seconda base di codice, ed è da lì che arriva il risparmio ricorrente.
Risultato
- Un'unica base di codice che serve web, iOS e Android invece di tre sviluppi paralleli.
- Rimossa una voce annuale ricorrente dal budget di sviluppo e manutenzione dell'istituzione — la cifra esatta spetta a loro renderla pubblica, non a me.
- Due applicazioni mobile pubblicate da un repository che non era mai stato pensato per produrne.
- Un portale pubblico accessibile e responsive, consegnato fedelmente a partire dal design system originale.