Etäopetusalustan kehittäminen

Verkko-opetusjärjestelmä opiskelijoille, joilla on mahdollisuus käyttää web-, iOS- ja Android-sovelluksia.

Asiakas

Teollisuus
Alue
EU
Asiakas vuodesta
2021

Asiakkaamme on kansainvälinen IT-yritys, joka on erikoistunut koulutuksen, vähittäiskaupan ja terveydenhuollon räätälöityihin ja alustapohjaisiin ohjelmistoihin.

Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n määräysten nojalla.

Haaste

Pandemian puhkeamisen jälkeen asiakkaamme voitti hallituksen tarjouksen laajamittaisesta hankkeesta, jonka tavoitteena oli kehittää ja toteuttaa verkko-oppimisalusta peruskoulun, lukion ja yläkoulun oppilaille. Suurimpana haasteena oli vakaan ja luotettavan järjestelmän puuttuminen verkkokoulun oppituntien opettamista varten. Suoratoistoalustojen ja videokeskustelujen käyttäjien voimakas lisääntyminen COVID-19-pandemian aikana johti viestinnän laadun heikkenemiseen yhdyskäytävien rajallisen kaistanleveyden vuoksi. Näin ollen oppilailla ei ollut vakaata ja luotettavaa järjestelmää verkkokoulutuntien pitämiseen, ja he jäivät vaille laadukasta verkko-opetusprosessia.

Pääurakoitsijana asiakkaamme kääntyi Innowise:n puoleen ulkoistaakseen alustan suunnittelun ja toteutuksen ja valitsi avaimet käteen -ohjelmistokehitysmallin. Hankkeen tavoitteen mukaan ratkaisusta pitäisi tulla kiinteä osa yli 200 julkisen koulun opetusprosessia.

Projektin puitteissa tiimimme tehtävänä oli:

  • Luo vuorovaikutteinen suoratoisto-verkkoalusta, jossa on runsaasti toimintoja verkkotuntien pitämiseen;
  • Rakenna iOS- ja Androidin natiivisovellukset, jotka ovat yhteensopivia useiden eri laitteiden kanssa;
  • Varmista järjestelmän häiriötön toiminta ja korkea käytettävyys, kun tuhannet käyttäjät käyttävät sitä samanaikaisesti;
  • Käyttäjätietojen turvallinen tallentaminen paikallisille palvelimille ja suojaus haavoittuvuuksia vastaan.

Ratkaisu

Innowise on kehittänyt verkko-opetusalustan tyhjästä. Alusta tarjoaa opettajille ja opiskelijoille käyttäjäystävällisiä verkko- ja mobiilisovelluksia, jotka on suunniteltu verkkotunteja varten.

Järjestelmän käyttö edellyttää rekisteröintiprosessin läpäisemistä, kirjautumista ja käyttöliittymän kielen valitsemista. Rekisteröitymisen yhteydessä jokainen käyttäjä saa roolin, joka määrittää tiettyjen sovellustoimintojen ja tietojen saatavuuden.
Alustalla on 4 käyttäjäroolia:
  • Admin
  • Opettaja
  • Opiskelija
  • Vieras
Etäopetusalustassa opettajilla on useita työkaluja verkkotuntien luomiseen, aikatauluttamiseen ja toteuttamiseen. Kalenteri-välilehdellä he voivat luoda oppitunteja, aikatauluttaa ne, valita oppiaineen, määrittää oppitunnin aiheen ja määrittää luokat tai tietyt oppilaat oppitunnille. Kaikki oppitunnille määritetyt käyttäjät saavat ilmoitukset heti, kun oppitunti on luotu järjestelmään. Opettajat voivat lähettää kutsulinkkejä vanhemmille, oppilaille ja valvojille.
Etäopetusjärjestelmä perustuu videoneuvottelutekniikkaan. Henkilökohtaisen aikataulun välilehtien kautta käyttäjät voivat liittyä niille varattuihin oppitunteihin. Jos opiskelijalla on teknisiä ongelmia kameran tai mikrofonin kanssa, opiskelijan profiilin vieressä näkyy hälytyskuvake. Verkkotunnin aikana käyttäjät voivat lähettää tiedostoja ja mediatietoja, jakaa näyttöjään, nostaa käsiään ja käyttää virtuaalista taulua. Opettajilla on erityisoikeudet, jotka määritellään heidän käyttäjäroolinsa mukaan järjestelmässä:
  • Oppilaiden mykistäminen/ mykistyksen poistaminen
  • Kutsu opiskelijat puhumaan
  • Hallitse virtuaalista taulua
  • Testien luominen ja suorittaminen
  • Määritä arvosanat
  • Määritä kotitehtävät
  • Hallitse sähköistä luokkakirjaa

Opettajat ja oppilaat voivat kirjoittaa, maalata, lisätä kaavoja, lisätä muotoja, liittää tarroja, ladata tiedostoja ja käyttää osoitinta. Oppitunnin aikana käyttäjät voivat lisätä useita tauluja, muuttaa niiden taustaväriä, poistaa elementtejä ja tallentaa tauluja oppituntikorttiin.

Opettajilla on myös pääsy testinrakentajaan, jonka avulla voidaan luoda kuinka monimutkaisia testejä tahansa. Näitä testejä voidaan käyttää tiedonhallintaan tai antaa kotitehtävinä. Konstruktori tukee erityyppisiä kysymyksiä: yksittäisiä kysymyksiä, monivalintakysymyksiä, avoimia kysymyksiä, joissa on kommenttikentät, ja tehtäviä, joissa on määritettävä tiettyjen tapahtumien järjestys tai löydettävä oikeat yhdistelmät. Opettajat voivat asettaa aikarajan ja kokeiden läpäisyyritysten määrän. Järjestelmä tarkistaa oppilaiden vastaukset automaattisesti, ja opettajalla on pääsy tilastotietoihin testin tuloksista.

Teknologiat ja työkalut

Java, Mapstruct, Spring (Boot, Core, MVC, Data, Security), PostgreSQL
Angular, TypeScript, NgRx, RxJS, Material käyttöliittymä
Kotlin, Swift, Kurrento, WebRTC, WebSockets
JUnit
Integraatiot
Tekstiviestien ja sähköpostin jakelupalvelut

Prosessi

Discovery-vaiheen aikana liiketoiminta-analyytikkomme ovat tutkineet sidosryhmien vaatimuksia määrittääkseen projektin laajuuden, MVP-versioiden käynnistämiseen tarvittavat ydintoiminnallisuudet ja koko ominaisuusvalikoiman. Olemme rakentaneet etäopetusjärjestelmän arkkitehtuurin ja valinneet optimaaliset teknologiat jatkoskaalausta varten. Tämä sisältyi asiakkaalle laadittuun Vision & Scope -tiedostoon.

PM ja kehittäjämme ovat tarjoutuneet käyttämään sopivinta teknologiapinoa:

  • Java 11
  • Angular
  • Spring Cloud Yhdyskäytävä
  • Spring Cloud Konfig
  • Holvi, Spring Tiedot
  • Spring Turvallisuus
  • Lombok
  • MapStruct (tietojen muuntamiseen)
  • WebFlux (integrointi muihin mikropalveluihin ja kolmansien osapuolten sovellusliittymiin).
  • OWASP TOP 10 -vaatimusten noudattaminen (+ OWASP ASVS)
  • TLS:n noudattaminen
  • Integrointi Kafkan kanssa

Päätimme käyttää alustan isäntänä PostgreSQL:ää kevyenä, nopeana ja monikäyttöisenä tietokantajärjestelmänä. Oppituntien metatietojen tallentamiseen ja välimuistiin tallentamiseen tarjosimme Redis-tietokantaa.

Verkko-oppimisalusta perustuu mikropalveluarkkitehtuuriin. Jokainen looginen komponentti on esitetty erillisenä Spring Boot -mikropalveluna, jolla on oma arkistonsa, moduulijoukko, integrointitestit, turvallisuusmääritykset ja käyttöönottoputki. Tällainen lähestymistapa tehostaa koko ohjelmistoekosysteemiä ja tekee siitä joustavamman ja vakaamman.

Alusta kestää OWASP TOP 10 -haavoittuvuuksia, ja yhteydet on suojattu TLS- ja SRTP-protokollien mukaisesti. Lisäksi sovellettiin seuraavia turvatoimenpiteitä:

  • Henkilötiedot tallennetaan ainoastaan salatussa muodossa.
  • Käyttöoikeudet on rajattu tiukasti
  • Oppilaiden vanhemmat ovat antaneet suostumuksensa tietojen käsittelyyn.

Joukkue

6
Java-kehittäjät
4
JavaScript-kehittäjät
1
Kotlin-kehittäjä
1
Swift-kehittäjä
2
UI/UX-suunnittelijat
2
Liiketoiminta-analyytikot
1
Projektipäällikkö
2
QA insinöörit
1
DevOps-insinööri
team-innowise

Tulokset

Tuloksena syntynyt etäopetusalusta on jo integroitu satojen peruskoulujen, keskikoulujen ja lukioiden opetusprosessiin. Ratkaisu täyttää menestyksekkäästi päätavoitteensa, joka on auttaa oppilaita ja opettajia siirtymään saumattomasti etäopetukseen ja toteuttamaan opetusprosesseja karanteenirajoitusten aikana.

Alusta kestää keskimäärin 300 000 käyttäjän yhtäaikaisen kuormituksen, ja se voidaan skaalata nopeasti miljooniin käyttäjiin. Tiimimme jatkaa projektin parissa laajentaen ratkaisun toiminnallisuutta ja tarjoten ohjelmistojen ylläpitopalveluja.

Hankkeen kesto
  • MVP-julkaisu - 4 kuukautta
  • Täysimittainen alusta - noin 1 vuosi
  • Tarjoamme jatkuvaa tukea ja ylläpitopalveluja

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli