Udvikling af fjernundervisningsplatform

E-læringssystemet til studerende med web-, iOS- og Android-applikationer

Kunde

Industri
Region
EU
Kunde siden
2021

Vores kunde er en international it-virksomhed, der specialiserer sig i brugerdefineret og platformsbaseret software til uddannelse, detailhandel og sundhedsvæsen.

Detaljerede oplysninger om klienten kan ikke videregives i henhold til bestemmelserne i NDA.

Udfordring

Efter udbruddet af pandemien vandt vores kunde et offentligt udbud om at køre et stort projekt, som havde til formål at udvikle og implementere en online læringsplatform for elever i grundskolen, på mellemtrinnet og i gymnasiet. Den største udfordring var manglen på et stabilt og pålideligt system til online skoleundervisning. Den kraftige stigning i antallet af brugere af streamingplatforme og videochats under COVID-19-pandemien førte til et fald i kommunikationskvaliteten på grund af den begrænsede båndbredde i gateways. De studerende havde således ikke et stabilt og pålideligt system til at gennemføre onlineundervisning og blev frataget kvaliteten af onlineuddannelsesprocessen.

Som hovedentreprenør henvendte vores kunde sig til Innowise for at outsource platformens konstruktion og implementering og valgte en nøglefærdig softwareudviklingsmodel. I henhold til projektets mål skulle løsningen blive en integreret del af uddannelsesprocessen for mere end 200 offentlige skoler.

Inden for projektet var det meningen, at vores team skulle:

  • Opret en interaktiv streaming-webplatform med mange funktioner til at gennemføre onlineundervisning;
  • Byg iOS og Android native apps, der er kompatible med en bred vifte af enheder;
  • Sikre problemfri drift og høj tilgængelighed af systemet, mens det bruges af tusindvis af brugere på samme tid;
  • Sørg for sikker lagring af brugerdata på lokale servere og beskyttelse mod sårbarheder.

Løsning

Innowise har udviklet en online uddannelsesplatform helt fra bunden. Platformen giver lærere og elever brugervenlige web- og mobilapps, der er designet til onlineundervisning.

For at få adgang til systemet skal man gennemgå registreringsprocessen, logge ind og vælge grænsefladesprog. Når man registrerer sig, får hver bruger en rolle, som definerer tilgængeligheden af specifikke app-funktioner og data.
Der er 4 brugerroller på platformen:
  • Administrator
  • Lærer
  • Studerende
  • Gæst
På fjernundervisningsplatformen har lærerne flere værktøjer til at oprette, planlægge og gennemføre onlinelektioner. Via kalenderfanen kan de oprette lektioner, planlægge dem, vælge emne, specificere lektionens emne og tildele klasser eller bestemte elever til lektionen. Alle brugere, der er tildelt en lektion, modtager meddelelser, så snart lektionen er oprettet i systemet. Lærere kan sende invitationslinks til forældre, elever og vejledere.
Fjernundervisningsplatformen er baseret på videokonferenceteknologi. Via fanerne i det personlige skema kan brugerne deltage i de lektioner, de er tildelt. Hvis en studerende har tekniske problemer med et kamera eller en mikrofon, vises der et advarselsikon ved siden af den studerendes profil. Under hele onlineundervisningen kan brugerne sende filer og mediedata, dele deres skærme, række hånden op og bruge den virtuelle tavle. Lærere har særlige rettigheder, der er defineret af deres brugerrolle i systemet:
  • Slå lyden fra/til for studerende
  • Inviter de studerende til at tale
  • Administrer den virtuelle tavle
  • Opret og udfør tests
  • Tildel karakterer
  • Giv lektier for
  • Administrer elektronisk klassebog

På den virtuelle tavle kan lærere og elever skrive, male, indsætte formler, tilføje figurer, vedhæfte klistermærker, uploade filer og bruge en markør. I løbet af lektionen kan brugerne tilføje flere tavler, ændre deres baggrundsfarve, slette elementer og gemme tavler i lektionskortet.

Lærere har også adgang til testkonstruktøren, der gør det muligt at oprette test af enhver kompleksitet. Disse test kan bruges til videnskontrol eller som hjemmearbejde. Konstruktøren understøtter forskellige typer spørgsmål: enkeltspørgsmål, multiple choice-spørgsmål, åbne spørgsmål med kommentarfelter og opgaver, hvor man skal bestemme rækkefølgen af bestemte begivenheder eller finde de rigtige kombinationer. Lærere kan indstille en tidsgrænse og antallet af forsøg for at bestå testen. Elevernes svar kontrolleres automatisk af systemet, og læreren har adgang til statistik over testens resultater.

Teknologier og værktøjer

Java, Mapstruct, Spring (Boot, kerne, MVC, data, sikkerhed), PostgreSQL
Angular, TypeScript, NgRx, RxJS, Material UI
Kotlin, SwiftKurrento, WebRTC, WebSockets
JUnit
Integrationer
SMS- og e-mail-distributionstjenester

Proces

I Discovery-fasen har vores forretningsanalytikere undersøgt interessenternes krav for at fastlægge projektets omfang, kernefunktionaliteten til lancering af MVP-versioner og det fulde funktionssæt. Vi har opbygget arkitekturen for fjernundervisningssystemet og valgt optimale teknologier til yderligere skalering. Dette blev inkluderet i Vision & Scope-filen til kunden.

Vores PM og udviklere har tilbudt at bruge den mest hensigtsmæssige teknologistak:

  • Java 11
  • Angular
  • Spring Cloud Gateway
  • Spring Cloud Config
  • Vault, Spring Data
  • Spring Sikkerhed
  • Lombok
  • MapStruct (til at konvertere data)
  • WebFlux (til at integrere med andre mikrotjenester og tredjeparts-API'er)
  • Overholdelse af OWASP TOP 10 (+ OWASP ASVS)
  • Overensstemmelse med TLS
  • Integration med Kafka

Til at hoste platformen valgte vi PostgreSQL som en let, hurtig og multifunktionel DBMS. Til at gemme og cache metadata om lektionerne tilbød vi at bruge Redis-databasen.

Online-læringsplatformen er baseret på mikroservice-arkitekturen. Hver logisk komponent er eksponeret som en separat Spring Boot-mikrotjeneste med sit repository, sæt af moduler, integrationstest, sikkerhedskonfigurationer og implementeringspipeline. En sådan tilgang forbedrer hele softwareøkosystemet og gør det mere fleksibelt og stabilt.

Platformen er modstandsdygtig over for OWASP TOP 10-sårbarheder, mens forbindelserne er beskyttet i henhold til TLS- og SRTP-protokollerne. Følgende sikkerhedsforanstaltninger blev også anvendt:

  • Personlige data opbevares kun i krypteret form
  • Adgangsrettighederne er strengt afgrænsede
  • Databehandling er godkendt af elevernes forældre

Hold

6
Java-udviklere
4
JavaScript-udviklere
1
Kotlin-udvikler
1
Swift udvikler
2
UI/UX-designere
2
Forretningsanalytikere
1
Projektleder
2
QA-ingeniører
1
DevOps-ingeniør
team-intelligent

Resultater

Den resulterende fjernundervisningsplatform er allerede integreret i uddannelsesprocessen på hundredvis af grundskoler, mellemskoler og gymnasier. Løsningen opfylder sit hovedmål om at hjælpe elever og lærere med at skifte til fjernundervisning uden problemer og gennemføre uddannelsesprocesser under karantænerestriktionerne.

Platformen tåler en gennemsnitlig belastning på 300.000 brugere samtidig og kan hurtigt skaleres til millioner af brugere. Vores team arbejder fortsat på projektet med at udvide løsningens funktionalitet og levere softwarevedligeholdelsestjenester.

Projektets varighed
  • MVP-udgivelse - 4 måneder
  • Fuldgyldig platform - ca. 1 år
  • Vi leverer løbende support og vedligeholdelse

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil