Entwicklung einer Plattform für Fern­unterricht

E-Learning-System für Schüler mit Web-, iOS- und Android-Anwendungen

Herausforderung

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.

Im Rahmen des Projekts sollte unser Team:

  • eine interaktive Streaming-Plattform mit umfangreichen Funktionen zur Durchführung von Online-Unterricht schaffen;
  • iOS und Native Android-Anwendungen entwickeln, die mit einer breiten Palette von Geräten kompatibel sind;
  • eine reibungslose Funktion und eine hohe Verfügbarkeit des Systems bei gleichzeitiger Nutzung durch Tausende von Benutzern gewährleisten;
  • für sichere Speicherung von Benutzerdaten auf lokalen Servern und Schutz vor Sicherheitslücken sorgen.

Lösung

Innowise hat eine Online-Bildungsplattform von Grund auf neu entwickelt. Die Plattform bietet Lehrern und Schülern benutzerfreundliche Web- und Mobilanwendungen für den Online-Unterricht.

Um auf das System zuzugreifen, muss man den Registrierungsprozess durchlaufen, sich anmelden und die Sprache der Schnittstelle wählen. Bei der Registrierung erhält jeder Benutzer eine Rolle, die die Verfügbarkeit bestimmter App-Funktionen und Daten definiert.
Es gibt 4 Benutzerrollen auf der Plattform:
  • Admin
  • Lehrer
  • Studenten
  • Gast
Innerhalb der Fernunterrichtsplattform stehen den Lehrkräften mehrere Werkzeuge zur Erstellung, Planung und Durchführung von Online-Unterricht zur Verfügung. Über die Registerkarte "Kalender" können sie Lektionen erstellen und planen, das Fach auswählen, das Thema der Lektion festlegen und der Lektion Klassen oder bestimmte Schüler zuweisen. Alle Benutzer, die einer Unterrichtsstunde zugewiesen sind, erhalten Benachrichtigungen, sobald die Unterrichtsstunde im System erstellt wurde. Lehrkräfte können Einladungslinks an Eltern, Schüler und Aufsichtspersonen senden.
Die Fernlernplattform basiert auf der Videokonferenztechnologie. Über die Registerkarten des persönlichen Stundenplans können die Nutzer an den ihnen zugewiesenen Lektionen teilnehmen. Wenn ein Schüler technische Probleme mit der Kamera oder dem Mikrofon hat, wird ein Warnsymbol neben dem Profil des Schülers angezeigt. Während des Online-Unterrichts können die Benutzer Dateien und Mediendaten senden, ihre Bildschirme freigeben, sich zu Wort melden und die virtuelle Tafel nutzen. Die Lehrkräfte verfügen über spezielle Rechte, die durch ihre Benutzerrolle im System definiert sind:
  • Schüler stummschalten/lautschalten
  • Studenten zum Reden einladen
  • Verwalten der virtuellen Tafel
  • Erstellen und Durchführen von Tests
  • Benoten
  • Hausaufgaben erteilen
  • Verwaltung des elektronischen Klassenbuchs

Auf der virtuellen Tafel können Lehrer und Schüler schreiben, malen, Formeln einfügen, Formen hinzufügen, Aufkleber anbringen, Dateien hochladen und einen Zeiger verwenden. Während der Lektion können die Benutzer mehrere Tafeln hinzufügen, ihre Hintergrundfarbe ändern, Elemente löschen und Tafeln in der Lektionskarte speichern.

Die Lehrkräfte haben auch Zugriff auf den Testkonstruktor, mit dem sie Tests beliebiger Komplexität erstellen können. Diese Tests können zur Wissenskontrolle verwendet oder als Hausaufgaben aufgegeben werden. Der Konstruktor unterstützt verschiedene Fragetypen: Einzelfragen, Multiple-Choice-Fragen, offene Fragen mit Kommentarfeldern und Aufgaben, bei denen die Reihenfolge bestimmter Ereignisse bestimmt oder die richtigen Kombinationen gefunden werden müssen. Die Lehrkräfte können ein Zeitlimit und die Anzahl der Versuche zum Bestehen des Tests festlegen. Die Antworten der Schülerinnen und Schüler werden automatisch vom System überprüft, und die Lehrkraft hat Zugang zu Statistiken über die Testergebnisse.

Technologien & Tools

Java, Mapstruct, Spring (Boot, Core, MVC, Daten, Sicherheit), PostgreSQL
AngularTypeScript, NgRx, RxJS, Material UI
Kotlin, Swift, Kurrento, WebRTC, WebSockets
JUnit
Integrationen
SMS- und E-Mail-Versanddienste

Prozess

In der Discovery-Phase haben unsere Business-Analysten die Anforderungen der Stakeholder untersucht, um den Projektumfang, die Kernfunktionalität für die Einführung der MVP-Versionen und den vollständigen Funktionsumfang zu bestimmen. Wir haben die Architektur des Fernunterrichtssystems erstellt und die optimalen Technologien für die weitere Skalierung ausgewählt. Dies wurde in die Vision & Scope-Datei für den Kunden aufgenommen.

Unser PM und unsere Entwickler haben angeboten, den am besten geeigneten Technologie-Stack zu verwenden:

  • Java 11
  • Angular
  • Spring Cloud Gateway
  • Spring Cloud Config
  • Vault, Spring Data
  • Spring Security
  • Lombok
  • MapStruct (zur Konvertierung der Daten)
  • WebFlux (zur Integration mit anderen Mikrodiensten und APIs von Drittanbietern)
  • Compliance OWASP TOP 10 (+ OWASP ASVS)
  • Übereinstimmung mit TLS
  • Integration mit Kafka

Für das Hosting der Plattform entschieden wir uns für PostgreSQL als leichtes, schnelles und vielseitiges DBMS. Zum Speichern und Zwischenspeichern der Metadaten der Lektionen haben wir die Redis-Datenbank angeboten.

Die Online-Lernplattform basiert auf einer Microservice-Architektur. Jede logische Komponente wird als separater Spring Boot-Microservice mit einem Repository, einer Reihe von Modulen, Integrationstests, Sicherheitskonfigurationen und einer Bereitstellungspipeline bereitgestellt. Ein solcher Ansatz verbessert das gesamte Software-Ökosystem und macht es flexibler und stabiler.

Die Plattform ist resistent gegen die OWASP TOP 10 Schwachstellen, während die Verbindungen gemäß den Protokollen TLS und SRTP geschützt sind. Die folgenden Sicherheitsmaßnahmen wurden ebenfalls angewandt:

  • Persönliche Daten werden nur in verschlüsselter Form gespeichert
  • Die Zugriffsrechte sind streng begrenzt
  • Die Datenverarbeitung erfolgt mit Zustimmung der Eltern der Schüler

Team erforderlich

6
Java-Entwickler
4
JavaScript-Entwickler
1
Kotlin-Entwickler
1
Swift-Entwickler
2
UI/UX-Designer
2
Business-Analysten
1
Projektmanager
2
QA-Ingenieure
1
DevOps Ingenieur
team-innowise

Erwartete Ergebnisse

Die daraus resultierende Fernunterrichtsplattform ist bereits in den Bildungsprozess von Hunderten von Grund-, Mittel- und Oberschulen integriert. Die Lösung erfüllt erfolgreich ihr Hauptziel, Schülern und Lehrern zu helfen, sich während der Pandemiebeschränkungen ohne Weiteres auf Fernunterricht umzustellen und Bildungsprozesse durchzuführen.

    Kontaktformular

    Anruf buchen oder füllen Sie das Formular aus. Wir kontaktieren Sie, sobald wir Ihre Anfrage bearbeitet haben.

    Sprachnachricht senden
    Datei beifügen
    Datei hochladen

    Sie können 1 Datei mit bis zu 2 MB anhängen. Gültige Dateiformate: pdf, jpg, jpeg, png.

    Mit dem Klicken auf Senden erklären Sie sich damit einverstanden, dass Innowise Ihre personenbezogenen Daten gemäß unserer Datenschutzrichtlinie verarbeitet, um Ihnen relevante Informationen bereitzustellen. Mit Angabe Ihrer Telefonnummer stimmen Sie zu, dass wir Sie per Sprachanruf, SMS oder Messaging-Apps kontaktieren. Es können Gebühren für Anrufe, Nachrichten und Datenübertragung anfallen.

    Sie können uns auch kontaktieren
    bis hin zu contact@innowise.com
    Wie geht es weiter?
    1

    Sobald wir Ihre Anfrage erhalten und geprüft haben, melden wir uns bei Ihnen, klären erste Fragen und unterzeichnen bei Bedarf ein NDA, um die Vertraulichkeit zu gewährleisten.

    2

    Nach genauer Prüfung Ihrer Anforderungen, Bedürfnisse und Erwartungen wird unser Team einen Projektvorschlag mit Angaben zu Arbeitsumfang, Teamgröße, Zeitaufwand und Kosten erstellen.

    3

    Wir vereinbaren einen Termin, um das Angebot gemeinsam zu besprechen und alle Details festzulegen.

    4

    Abschließend unterzeichnen wir den Vertrag und starten umgehend mit der Umsetzung Ihres Projekts.

    Pfeil