App 21Million Academy
App Android e iOS per seguire i corsi dell'accademia, con video protetti e interfaccia in stile community.
- Tecnologie
- Flutter, Riverpod, Firebase, Codemagic
- Area
- Software



Il punto di partenza
La 21Million Academy vendeva corsi di finanza su un sito WordPress con LearnDash e BuddyBoss. Gli iscritti chiedevano di poter seguire le lezioni dal telefono, con i video protetti come sul sito e lo stesso account.
Il problema era tecnico: le API ufficiali di LearnDash mostrano il catalogo, ma non danno i corsi di un utente con i suoi progressi, non permettono di segnare una lezione come completata e non hanno un login pensato per un’app. Anche il plugin di VdoCipher genera il codice per vedere un video solo dentro le pagine del sito, senza controllare se chi guarda è iscritto al corso.
Cosa abbiamo fatto
Abbiamo scritto l’app in Flutter, che produce da un solo codice l’app Android e quella iOS. Per farla parlare con il sito abbiamo scritto prima un plugin ponte per WordPress, con le API che mancavano: login a token, corsi dell’utente, progressi, completamento delle lezioni, codice per il video.
Quando il sito è passato a un backend su misura, il nuovo server ha ripreso le stesse API una per una. All’app è bastato cambiare l’indirizzo del server, senza riscrivere il codice.
La protezione dei video funziona così: l’app chiede di vedere una lezione, il server controlla che l’utente sia iscritto, ricava da solo quale video corrisponde e chiede a VdoCipher un codice valido 5 minuti, con una filigrana che mostra l’email dello studente. La chiave segreta di VdoCipher resta sul server.
La pubblicazione è in parte automatica. La build iOS parte su Codemagic e arriva su TestFlight, mentre il pacchetto Android si carica su Google Play con uno script. Su Android l’app è pubblicata senza acquisti interni, come chiedono le regole di Google. Su iOS Apple ha chiesto l’acquisto dei corsi dentro l’app, ed è la parte ancora in lavorazione.
Com’è fatto
- Flutter, con Riverpod per lo stato e go_router per la navigazione
- Login con token e rinnovo automatico, salvati in modo protetto sul dispositivo
- Catalogo, dettaglio del corso, programma e lezioni con navigazione avanti e indietro
- Player VdoCipher nativo, con ripresa dal punto in cui ci si era fermati
- Commenti sotto le lezioni, certificati e gestione dei dispositivi collegati
- Community: bacheca, elenco membri, messaggi privati, blocco e segnalazione
- Notifiche push con Firebase
- Cancellazione dell’account dall’app
Risultato
Gli iscritti seguono i corsi dal telefono con lo stesso account del sito, e i progressi restano allineati fra app e sito. I video sono protetti allo stesso livello del sito, perché il controllo lo fa sempre il server. Il passaggio da WordPress al backend nuovo non ha richiesto di riscrivere l’app.