Betriebshandbuch.
Technische Dokumentation, Architektur & Betriebsprozesse der IT42 E-Learning-Plattform (TrainingsPower).
Version 1.0 · Stand: 19.10.2026
1. Architektur-Übersicht
TrainingsPower ist eine mandantenfähige E-Learning- und Zertifizierungsplattform. Das System basiert auf einer Single-Page-Application (React) im Browser und einem serverlosen Backend (Base44 BaaS) für Datenhaltung, Authentifizierung und sicherheitskritische Geschäftslogik.
Technologie-Stack
Schichten
Datenfluss (Beispiel Prüfung)
Beispiel Prüfung: Der Client fordert über sendExamCode einen Code an → Server prüft Lizenz/Demo, erzeugt eine ExamSession (Code nur als Hash gespeichert) und versendet den Code per Graph API. Nach Eingabe verifiziert verifyExamCode serverseitig. Die Abgabe über submitExam bewertet die Antworten gegen die Server-Daten, erstellt TestAttempt und – bei Bestehen – ein gesiegeltes Certificate. Kein Score und kein Zertifikat entsteht clientseitig.
Datenfluss (Beispiel KI-Mentor)
Beispiel KI-Mentor: In der Schulungsansicht prüft die Komponente TrainingMentor über mentorContext, ob die Firma des Nutzers aktiv (Enterprise) ist – nur dann erscheint der schwebende Button. Beim Öffnen liefert mentorContext den auf die Schulung beschränkten Kontext, der als verstecktes Start-Prompt an eine neue training_mentor-Konversation übergeben wird. Der Agent bleibt strikt beim Schulungsthema und schlägt aktiv Vertiefungsthemen vor. Ohne aktive Lizenz antwortet mentorContext mit HTTP 402 (no_license) und der Mentor bleibt verborgen.
2. Datenmodell (Entities)
Die folgenden Kern-Entities bilden das Datenmodell. Jede Entity besitzt zusätzlich die System-Attribute id, created_date, updated_date und created_by_id. Die vollständigen JSON-Schemata inkl. RLS-Regeln liegen unter base44/entities/ und sind im Anhang exportierbar.
Kern-Entities
Beziehungen
- Company 1—n User (company_id): eine Firma hat viele Mitarbeiter/Firmen-Admins.
- Company n—m Training über TrainingAssignment: Firmen erhalten Zugriff auf zugewiesene Schulungen.
- Training 1—n Question: jede Schulung besitzt ihren eigenen Fragen-Pool.
- User + Training → ExamSession → TestAttempt → Certificate: die Prüfungskette pro Versuch.
3. Sicherheitsmodell
Sicherheit wird konsequent serverseitig durchgesetzt. Der Client kann weder Prüfungsergebnisse noch Zertifikate fälschen, da alle sensiblen Entscheidungen im Backend getroffen werden.
Maßnahmen
Secrets & Connector
WICHTIG: Secrets werden ausschließlich als Umgebungsvariablen in der Plattform hinterlegt. Echte Schlüssel oder Passwörter dürfen niemals in diesem Handbuch, im Code oder in Tickets erscheinen.
4. Betriebs- & Wartungsprozesse
Mandanten- & Nutzerverwaltung
- Neue Firma: Super-Admin legt sie unter „Firmen" an und setzt den Lizenzstatus (Freischalten/Sperren) gemäß Agreement.
- Firmen-Admin einladen: unter „Firmen-Admins" per E-Mail; er verwaltet fortan eigenständig seine Firma.
- Mitarbeiter einladen: per E-Mail unter „Mitarbeiter"; die Einladung löst automatisch eine gebrandete IT42-Willkommens-Mail aus (Graph API).
- Verwaltung läuft zentral über die Backend-Funktion manageCompanies mit strikter Rollen- und Firmen-Scope-Prüfung.
Schulungs-Management
- Neue Schulung anlegen, Lernmodule (Text, Bild, interaktive Blöcke) befüllen und den Fragen-Pool pflegen.
- Zufallsfragen pro Versuch (questions_per_test) und Bestehensgrenze (passing_score) festlegen.
- Umfangreiche Kurse über die Import-Funktion strukturiert anlegen.
- Sichtbarkeit steuern: Aktiv/Inaktiv-Status je Schulung; is_demo für frei zugängliche Demo-Schulungen.
- Schulung einer Firma zuweisen (TrainingAssignment), damit sie deren Mitarbeitern erscheint.
Support & Monitoring
- Zertifikatsprüfung: Echtheit über die öffentliche /verify-Seite (Kennung + Siegel + QR-Code) validieren.
- Fortschritt & Ergebnisse: Lernstand und Testversuche pro Firma/Schulung im Admin-Bereich auswerten.
- Zertifikats-Register: zentrale Übersicht aller Zertifikate mit Suche, Firmenfilter, CSV-Export und PDF-Download.
- Backend-Fehler sind über die Funktions-Logs der Plattform (Code → Functions) einsehbar.
Notfall- & Incident-Management
- Passwort vergessen: Mitarbeiter nutzen „Passwort vergessen"; der Reset-Link kommt per E-Mail.
- OTP-Probleme bei der Registrierung: Code über „Code erneut senden" neu anfordern; Codes sind zeitlich begrenzt gültig.
- Prüfungscode kommt nicht an: Spam-Ordner prüfen, ggf. E-Mail-Adresse verifizieren; der Versand läuft über den O365-/Graph-Connector.
- Zugriff blockiert / „no_license": Firma unter „Firmen" auf Lizenzstatus prüfen und ggf. freischalten.
- Konto-Löschung: Nutzer können ihr Konto selbst löschen (App-Store-Konformität) – Aktion deleteOwnAccount.
5. Technische Referenz (Backend-Funktionen)
Übersicht der serverlosen Backend-Funktionen und ihrer Aufgaben.