← Indietro

Due app in produzione per una federazione sportiva nazionale

Consulenza · anonimizzato per riservatezza

Problema

Una federazione sportiva nazionale aveva bisogno di servizi digitali per i propri tesserati: un portale servizi web e mobile, e un'app mobile companion usata da decine di migliaia di persone. La società di consulenza incaricata del progetto non aveva un front-end developer senior in organico — il front end andava progettato, sviluppato e mantenuto da una sola persona.

Ruolo

Unico sviluppatore front-end su entrambe le applicazioni, dall'architettura alle release sugli store, senza supervisione senior. Oltre al front end: contributi selezionati di back-end in C#/.NET, troubleshooting delle build native e pubblicazione sugli store.

Scelte tecniche

  • Angular 21 + Capacitor 7 in un monorepo Nx — un'unica codebase TypeScript per web e mobile, componenti standalone e signals.
  • Sistema di filtri generico e riutilizzabile costruito sui generics di TypeScript, condiviso da tutte le viste a lista del portale.
  • Dashboard di amministrazione con PrimeNG e Chart.js.
  • Sign-in OIDC (B2C) e RBAC — integrazione del flusso di autenticazione OpenID Connect per i tesserati nel portale — redirect flow, gestione di token e sessione, deep link per riportare il flusso nell'app mobile — con controllo degli accessi basato sui ruoli su cosa ogni utente può vedere e fare.
  • Contributi di back-end: controller e service REST in C#/.NET — incluso il Meta Data Deletion Callback per la compliance di Facebook Login (richieste firmate HMAC-SHA256).
  • Firebase per notifiche push e integrazione dell'Admin SDK; troubleshooting delle build native in Xcode e Gradle.
  • Gestione dei flavor con Capacitor — varianti di app separate per sviluppo e produzione su iOS e Android: bundle ID, icone e configurazioni d'ambiente distinti, così le build di test si installano accanto all'app pubblicata.

Risultato

Entrambe le applicazioni sono in produzione — su App Store e Google Play — al servizio di decine di migliaia di utenti, mantenute end-to-end da un unico sviluppatore.

Nome del cliente, brand e screenshot sono omessi per un accordo di riservatezza. Ne parlo volentieri nel dettaglio in un colloquio.