Sviluppo della piattaforma di formazione a distanza

Il sistema di eLearning per gli studenti con applicazioni web, iOS e Android

Sfida

Our client wanted to develop and implement an online learning platform for elementary, middle, and high school students. The major challenge was the lack of a stable and reliable system for teaching online school lessons. 

Our client turned to Innowise to outsource the platform’s engineering and implementation and opted for the turnkey software development model. According to the project’s objective, the solution should become an integral part of the education process for more than 200 public schools.

Nell'ambito del progetto, il nostro team avrebbe dovuto:

  • Creare una piattaforma web interattiva in streaming con ricche funzioni per condurre lezioni online;
  • Crea iOS e Applicazioni native Android compatibili con un'ampia gamma di dispositivi;
  • Garantire il funzionamento regolare e l'alta disponibilità del sistema, utilizzato da migliaia di utenti contemporaneamente;
  • Garantire l'archiviazione sicura dei dati degli utenti sui server locali e la protezione contro le vulnerabilità.

Soluzione

Innowise ha sviluppato da zero una piattaforma educativa online. La piattaforma fornisce a insegnanti e studenti applicazioni web e mobili di facile utilizzo, progettate per le lezioni online.

Per accedere al sistema, è necessario superare il processo di registrazione, effettuare il login e scegliere la lingua dell'interfaccia. Al momento della registrazione, ogni utente ottiene un ruolo, che definisce la disponibilità di specifiche funzioni e dati dell'applicazione.
Sulla piattaforma sono presenti 4 ruoli utente:
  • Admin
  • Insegnante
  • Studente
  • Ospite
All'interno della piattaforma di formazione a distanza, gli insegnanti hanno a disposizione diversi strumenti per creare, programmare e condurre lezioni online. Utilizzando la scheda Calendario, possono creare lezioni, programmarle, selezionare la materia, specificare l'argomento della lezione e assegnare classi o studenti particolari alla lezione. Tutti gli utenti assegnati a una lezione ricevono notifiche non appena la lezione viene creata nel sistema. Gli insegnanti possono inviare link di invito a genitori, studenti e supervisori.
La piattaforma di apprendimento a distanza si basa sulla tecnologia della videoconferenza. Attraverso le schede dell'orario personale, gli utenti possono partecipare alle lezioni a cui sono assegnati. Se uno studente ha problemi tecnici con la telecamera o il microfono, accanto al suo profilo viene visualizzata un'icona di avviso. Durante la lezione online, gli utenti possono inviare file e dati multimediali, condividere i loro schermi, alzare la mano e utilizzare la lavagna virtuale. Gli insegnanti hanno diritti speciali definiti dal loro ruolo di utenti nel sistema:
  • Silenziare/annullare gli studenti
  • Invitare gli studenti a parlare
  • Gestire la lavagna virtuale
  • Creare ed eseguire test
  • Assegnare i voti
  • Assegnare i compiti a casa
  • Gestire il libro di classe elettronico

Sulla lavagna virtuale, insegnanti e studenti possono scrivere, dipingere, inserire formule, aggiungere forme, attaccare adesivi, caricare file e usare un puntatore. Durante la lezione, gli utenti possono aggiungere più lavagne, cambiare il loro colore di sfondo, eliminare elementi e salvare le lavagne nella scheda della lezione.

Gli insegnanti hanno anche accesso al costruttore di test, che consente di creare test di qualsiasi complessità. Questi test possono essere utilizzati per il controllo delle conoscenze o assegnati come compiti a casa. Il costruttore supporta diversi tipi di domande: domande singole, domande a scelta multipla, domande a risposta aperta con caselle di commento e compiti per determinare l'ordine di eventi specifici o per trovare le giuste combinazioni. Gli insegnanti possono impostare un limite di tempo e il numero di tentativi per superare il test. Le risposte degli studenti vengono controllate automaticamente dal sistema e l'insegnante ha accesso alle statistiche sui risultati del test.

Tecnologie e strumenti

Java, Mapstruct, Spring (Boot, Core, MVC, Dati, Sicurezza), PostgreSQL
Angular, TypeScript, NgRx, RxJS, Material UI
Kotlin, Swift, Kurrento, WebRTC, WebSockets
JUnit
Integrazioni
Servizi di distribuzione di SMS e e-mail

Processo

Durante la fase di scoperta, i nostri analisti aziendali hanno studiato i requisiti delle parti interessate per determinare l'ambito del progetto, le funzionalità di base per lanciare le versioni MVP e il set completo di funzionalità. Abbiamo costruito l'architettura del sistema di formazione a distanza e selezionato le tecnologie ottimali per l'ulteriore scalabilità. Tutto ciò è stato incluso nel file Vision & Scope per il cliente.

I nostri PM e sviluppatori si sono offerti di utilizzare lo stack tecnologico più appropriato:

  • Java 11
  • Angular
  • Spring Cloud Gateway
  • Spring Cloud Config
  • Vault, Spring Data
  • Spring Security
  • Lombok
  • MapStruct (per convertire i dati)
  • WebFlux (per l'integrazione con altri microservizi e API di terze parti)
  • Conformità con OWASP TOP 10 (+ OWASP ASVS)
  • Conformità con TLS
  • Integrazione con Kafka

Per ospitare la piattaforma, abbiamo scelto PostgreSQL come DBMS leggero, veloce e multifunzionale. Per memorizzare e memorizzare i metadati delle lezioni, abbiamo proposto di utilizzare il database Redis.

La piattaforma di apprendimento online si basa sull'architettura a microservizi. Ogni componente logico è esposto come un microservizio Spring Boot separato, con il suo repository, l'insieme dei moduli, i test di integrazione, le configurazioni di sicurezza e la pipeline di distribuzione. Questo approccio migliora l'intero ecosistema software e lo rende più flessibile e stabile.

La piattaforma è resistente alle vulnerabilità OWASP TOP 10, mentre le connessioni sono protette dai protocolli TLS e SRTP. Sono state inoltre applicate le seguenti misure di sicurezza:

  • I dati personali vengono memorizzati solo in forma criptata.
  • I diritti di accesso sono strettamente delimitati
  • Il trattamento dei dati è autorizzato dai genitori degli studenti.

Team richiesto

6
Sviluppatori Java
4
Sviluppatori JavaScript
1
Sviluppatore Kotlin
1
Sviluppatore Swift
2
Progettisti UI/UX
2
Analisti aziendali
1
Responsabile di progetto
2
Ingegneri QA
1
Ingegnere DevOps
team-innowise

Risultati attesi

La piattaforma di apprendimento a distanza che ne deriva è già integrata nel processo educativo di centinaia di scuole elementari, medie e superiori. La soluzione ha raggiunto l'obiettivo principale di aiutare studenti e insegnanti a passare senza problemi all'apprendimento a distanza e a condurre i processi educativi durante le restrizioni della quarantena.

    Contattateci

    Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Inviaci un messaggio vocale
    Allegare i documenti
    Caricare il file

    È possibile allegare 1 file di dimensioni massime di 2 MB. Formati di file validi: pdf, jpg, jpeg, png.

    Facendo clic su Invia, l'utente acconsente al trattamento dei propri dati personali da parte di Innowise in base alla nostra Informativa sulla privacy per fornirvi informazioni pertinenti. Inviando il vostro numero di telefono, accettate che possiamo contattarvi tramite chiamate vocali, SMS e applicazioni di messaggistica. Potrebbero essere applicate tariffe per chiamate, messaggi e dati.

    Potete anche inviarci la vostra richiesta
    a contact@innowise.com
    Cosa succede dopo?
    1

    Una volta ricevuta ed elaborata la vostra richiesta, vi contatteremo per illustrarvi le esigenze del vostro progetto. Progetto e firmare un NDA per garantire la riservatezza.

    2

    Dopo aver esaminato i vostri desideri, le vostre esigenze e le vostre aspettative, il nostro team elaborerà una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e le stime dei costi stimati.

    3

    Organizzeremo un incontro con voi per discutere l'offerta e definire i dettagli.

    4

    Infine, firmeremo un contratto e inizieremo subito a lavorare sul vostro progetto.

    freccia