Dagli studenti per gli studenti: è MONTIAPP

Liceo Monti presenta l'applicazione ufficiale del Liceo. Nell'applicazione puoi visualizzare le circolari ed i progetti PCTO pubblicati dal liceo, offrire e partecipare a diverse lezioni extra e molto altro! Per effettuare l'accesso è necessario un account istituzionale @liceomonti.edu.it.

Data di pubblicazione: giovedì, 18 febbraio 2021

Autore: Amministrazione Sito

Argomenti
MontiApp M.png
MontiApp è l'applicazione nata dagli studenti per gli studenti.

Sviluppata dal team composto da Luca Bordino, Carlo Federico Vescovo, Tommaso Venditti (studenti del liceo) e Michele Bergia, l'applicazione è rivolta a tutti ad insegnanti, studenti e personale scolastico; grazie alla MontiApp è possibile visualizzare, grazie ad un'interfaccia semplice e moderna, le circolari e i progetti di PCTO. Alcune funzionalità sono già attive, ma a breve verranno aggiunte nuove features che renderanno sempre più coinvolgente l'interazione tra i membri della comunitià scolastica.

Come scaricare MontiApp

Presentazione

Clicca qui per la scaricare la presentazione

Rassegna stampa

Dall'edizione del 22 gennaio 2021 del Corriere di Chieri

 

Scheda tecnica

Il progetto "MontiApp", finalizzato all'evoluzione tecnologica del Liceo Monti, si compone, dal punto di vista tecnico, di due parti principali: un applicativo mobile con supporto alle piattaforme Android e iOS e un'infrastruttura server.

L'applicazione si può scomporre a sua volta in due parti: l'interfaccia utente (front-end), riguardante l'interazione diretta con l'utente, e la gestione della logica (back-end), indispensabile per ricevere le informazioni dall'interfaccia, processarle e dialogare con il server.

A livello tecnologico, si è scelto di utilizzare il linguaggio di programmazione Dart, ritenuto tra i più efficienti della sua categoria, ed il framework di sviluppo front-end Flutter, basato su Dart. Entrambe le tecnologie sono completamente open-source e sono state sviluppate da Google.

L'utilizzo di strumenti così evoluti e supportati dal leader del settore mobile ha mostrato diversi punti di forza all'interno del progetto. Uno dei più importanti è lo sviluppo multipiattaforma che ha permesso al gruppo di sviluppo di utilizzare una sola base di codice per distribuire sia l'applicazione per Android, sia l'applicazione per iOS. In precedenza, quando erano disponibili solamente le tecnologie fornite direttamente dalle case produttrici dei sistemi operativi mobili, era indispensabile avviare più progetti paralleli di sviluppo per ciascuna piattaforma: questo tipo di progettazione spesso si traduce in una disparità di caratteristiche tra le varie implementazioni e rallenta lo sviluppo del prodotto finito, rendendo più complesso anche il processo di distribuzione e, successivamente, di manutenzione.

Inoltre, l'utilizzo di Dart e Flutter ha permesso ai due membri del progetto che si sono occupati della parte mobile di dividersi al meglio i compiti: il paradigma della programmazione a oggetti (espressione coniata da uno dei suoi inventori, Alan Kay, pioniere della programmazione odierna e delle interfacce grafiche) di cui le due tecnologie citate fanno abbondante uso e impiegato nella stragrande maggioranza dei linguaggi moderni, ha contribuito alla divisione del lavoro, permettendo al designer di creare i propri widget e allo sviluppatore backend di progettare la logica e collegarla alla grafica.

Infine, grazie al progetto Firebase, uno dei numerosi strumenti di sviluppo di Google, è stato implementato un sistema di autenticazione per l'applicativo MontiApp basato sugli account istituzionali del Liceo di cui gli studenti già dispongono, senza dover chiedere ulteriori dati, permessi e consensi agli utenti.

Il lato server è composto, invece, da svariate tecnologie, tra cui: Docker, per la creazione e la gestione dei container (utilizzati per semplificare la distribuzione del progetto sui server impiegati); Java (insieme al framework Spring Boot), linguaggio di programmazione molto popolare, impiegato per lo sviluppo dell'API REST; MariaDB, un sistema di gestione database (DBMS, in inglese Database Management System); tecnologie di collegamento con Telegram, Firebase e altro per le notifiche e la gestione degli utenti.
Questo stack tecnologico, particolarmente potente, espandibile e scalabile offre svariate possibilità nel campo dell'evoluzione del progetto: disponendo di una struttura ben definita con delle basi così solide si possono aggiungere facilmente nuove caratteristiche riducendo il tempo necessario per lo sviluppo.

Inoltre, il codice  ha un test coverage del 90% e viene continuamente testato da alcune piattaforme di testing automatizzato; ciò significa che la quasi totalità del codice viene controllata per fornire agli sviluppatori delle preziose informazioni sugli eventuali bug introdotti involontariamente nel programma, i quali possono in seguito essere risolti senza danneggiare l'esperienza utente.
 

Documenti