Training Engine (CP-TRAIN)
KI-generierte Schulungsinhalte, Rollenmatrix, Quiz-Engine, Zertifikate und Training Blocks fuer Compliance-Schulungen.
Prefix: CP-TRAIN · seq: 4800 · Frontend: https://macmini:3007/sdk/training
Learner-Portal: https://macmini:3007/sdk/training/learner
Service: ai-compliance-sdk (Go/Gin, Port 8093)
Proxy: /api/sdk/v1/training/[[...path]] → ai-compliance-sdk:8090/sdk/v1/training/...
Developer Portal: https://macmini:3006/api/training
Features
- Rollenbasierte Schulungsmatrix (CTM) — 10 Rollen (R1–R10)
- KI-generierte Schulungsinhalte (Text, Audio, Video via TTS-Service)
- Quiz-Engine mit automatischer Auswertung und Bestehensgrenze
- Deadline-Tracking und 4-stufige Eskalation (7/14/30/45 Tage)
- Aufgabenzuweisung (Assignments) mit Fortschrittstracking
- PDF-Zertifikate nach erfolgreichem Abschluss
- Training Blocks — automatische Modul-Erstellung aus Canonical Controls
- Learner-Portal fuer Mitarbeiter (Schulung absolvieren, Quiz, Zertifikat)
- Unveraenderliches Audit-Log fuer Compliance-Nachweise
- Bulk-Content-Generierung fuer alle Module auf einmal
Rechtsgrundlage
| Artikel |
Bezug |
| Art. 39 Abs. 1b DSGVO |
DSB-Aufgabe: Sensibilisierung und Schulung |
| Art. 5 AI Act |
Schulungspflicht fuer verbotene KI-Praktiken |
| Art. 4 Abs. 2 AI Act |
Schulung fuer KI-Alphabetisierung |
Tabs / Ansichten
Admin-Frontend (/sdk/training)
| Tab |
Inhalt |
overview |
Statistiken, Deadline-Warnung, Eskalation-Check |
modules |
CRUD aller Schulungsmodule mit Filter (Status, Regulierung) |
matrix |
Rollen-Modul-Matrix — wer muss welche Schulung absolvieren |
assignments |
Zugewiesene Schulungen mit Fortschritt und Deadline |
content |
KI-generierter Inhalt pro Modul + Audio/Video-Player |
audit |
Unveraenderliches Audit-Log aller Schulungsaktivitaeten |
Learner-Portal (/sdk/training/learner)
| Tab |
Inhalt |
| Meine Schulungen |
Zuweisungsliste mit Status-Badges, Fortschrittsbalken, Deadline |
| Schulungsinhalt |
Modul-Content (Markdown), AudioPlayer, VideoPlayer |
| Quiz |
Fragen mit Antwortauswahl, Timer, Ergebnis-Anzeige |
| Zertifikate |
Grid mit abgeschlossenen Schulungen, PDF-Download |
Learner-Workflow:
- Mitarbeiter sieht seine Zuweisungen
- Klickt "Schulung starten" → Content lesen, Audio/Video anhoeren
- "Quiz starten" → Fragen beantworten
- Bei Bestehen: "Zertifikat generieren" → PDF-Download
API Endpoints
Module
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/modules |
Alle Module (regulation_area, frequency_type, search Filter) |
GET |
/sdk/v1/training/modules/:id |
Modul-Detail mit Content und Quiz-Fragen |
POST |
/sdk/v1/training/modules |
Modul erstellen |
PUT |
/sdk/v1/training/modules/:id |
Modul aktualisieren |
DELETE |
/sdk/v1/training/modules/:id |
Modul loeschen |
Rollenmatrix (CTM)
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/matrix |
Vollstaendige Rollenmatrix |
GET |
/sdk/v1/training/matrix/:role |
Matrix fuer eine Rolle |
POST |
/sdk/v1/training/matrix |
Eintrag hinzufuegen |
DELETE |
/sdk/v1/training/matrix/:role/:moduleId |
Eintrag entfernen |
Rollen: R1 Geschaeftsfuehrung, R2 IT-Leitung, R3 DSB, R4 ISB, R5 HR, R6 Einkauf, R7 Fachabteilung, R8 IT-Admin, R9 Alle Mitarbeiter, R10 Behoerden
Assignments
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/assignments |
Alle Zuweisungen (Filter: user_id, module_id, role, status) |
GET |
/sdk/v1/training/assignments/:id |
Zuweisung-Detail |
POST |
/sdk/v1/training/assignments/compute |
Zuweisungen aus Matrix berechnen |
POST |
/sdk/v1/training/assignments/:id/start |
Schulung starten |
POST |
/sdk/v1/training/assignments/:id/progress |
Fortschritt aktualisieren |
POST |
/sdk/v1/training/assignments/:id/complete |
Schulung abschliessen |
PUT |
/sdk/v1/training/assignments/:id |
Deadline aktualisieren |
KI-Content-Generierung
| Methode |
Pfad |
Beschreibung |
POST |
/sdk/v1/training/content/generate |
Inhalt KI-generieren (Markdown) |
POST |
/sdk/v1/training/content/generate-quiz |
Quiz-Fragen KI-generieren |
GET |
/sdk/v1/training/content/:moduleId |
Veroeffentlichten Content laden |
POST |
/sdk/v1/training/content/:contentId/publish |
Inhalt freigeben |
POST |
/sdk/v1/training/content/generate-all |
Alle Module bulk-generieren |
POST |
/sdk/v1/training/content/generate-all-quiz |
Alle Quizzes bulk-generieren |
Quiz
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/quiz/:moduleId |
Quiz-Fragen fuer ein Modul |
POST |
/sdk/v1/training/quiz/:moduleId/submit |
Antworten einreichen |
GET |
/sdk/v1/training/quiz/attempts/:assignmentId |
Quiz-Versuche anzeigen |
Media (Audio/Video)
| Methode |
Pfad |
Beschreibung |
POST |
/sdk/v1/training/content/:moduleId/generate-audio |
Audio generieren (Piper TTS) |
POST |
/sdk/v1/training/content/:moduleId/generate-video |
Video generieren (TTS + Folien) |
POST |
/sdk/v1/training/content/:moduleId/preview-script |
Video-Script Vorschau (JSON) |
GET |
/sdk/v1/training/media/module/:moduleId |
Alle Medien eines Moduls |
GET |
/sdk/v1/training/media/:mediaId/url |
Metadaten (Bucket, Object Key) |
POST |
/sdk/v1/training/media/:mediaId/publish |
Media veroeffentlichen |
GET |
/sdk/v1/training/media/:mediaId/stream |
Media streamen (307 → Presigned URL) |
Media-Streaming: Der /stream-Endpoint liefert einen 307 Temporary Redirect zu einer zeitlich begrenzten Presigned URL (MinIO/S3). Browser und Player folgen dem Redirect automatisch. Der Next.js-Proxy leitet den Redirect transparent weiter.
Deadlines & Eskalation
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/deadlines |
Bevorstehende Deadlines |
GET |
/sdk/v1/training/deadlines/overdue |
Ueberfaellige Deadlines |
POST |
/sdk/v1/training/escalation/check |
Eskalation ausfuehren |
Eskalationsstufen:
| Stufe |
Tage ueberfaellig |
Aktion |
| 1 |
7 Tage |
Erinnerung an Mitarbeiter |
| 2 |
14 Tage |
Benachrichtigung Teamleitung |
| 3 |
30 Tage |
Benachrichtigung Management |
| 4 |
45 Tage |
Benachrichtigung Compliance Officer |
Zertifikate
| Methode |
Pfad |
Beschreibung |
POST |
/sdk/v1/training/certificates/generate/:assignmentId |
Zertifikat generieren |
GET |
/sdk/v1/training/certificates |
Alle Zertifikate des Tenants |
GET |
/sdk/v1/training/certificates/:id/pdf |
Zertifikat als PDF herunterladen |
GET |
/sdk/v1/training/certificates/:id/verify |
Zertifikat verifizieren |
Voraussetzungen: Status completed UND quiz_passed = true. Das PDF wird im Querformat (A4 Landscape) generiert und enthaelt Modul-Titel, Benutzer-Name, Datum und eine eindeutige Zertifikats-ID.
Training Blocks (Controls → Module)
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/blocks |
Alle Block-Konfigurationen |
POST |
/sdk/v1/training/blocks |
Block-Konfiguration erstellen |
GET |
/sdk/v1/training/blocks/:id |
Block-Konfiguration laden |
PUT |
/sdk/v1/training/blocks/:id |
Block-Konfiguration aktualisieren |
DELETE |
/sdk/v1/training/blocks/:id |
Block-Konfiguration loeschen |
POST |
/sdk/v1/training/blocks/:id/preview |
Vorschau: Welche Controls/Module? |
POST |
/sdk/v1/training/blocks/:id/generate |
Module generieren (Content + CTM) |
GET |
/sdk/v1/training/blocks/:id/controls |
Verlinkte Controls anzeigen |
Canonical Controls
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/canonical/controls |
Controls auflisten (Filter: domain, category, severity, target_audience) |
GET |
/sdk/v1/training/canonical/meta |
Metadaten (Domains, Kategorien, Audiences mit Counts) |
Statistiken & Audit
| Methode |
Pfad |
Beschreibung |
GET |
/sdk/v1/training/stats |
Ueberblick-Statistiken |
GET |
/sdk/v1/training/audit-log |
Audit-Log (Filter: action, entity_type, limit, offset) |
SDK-Workflow Position
Das Training-Modul erweitert die Academy um KI-generierte Inhalte. Waehrend die Academy einfache Schulungseinheiten verwaltet, bietet die Training Engine automatische Inhaltsgenerierung, eine Rollenmatrix und eine vollstaendige Quiz-Engine.
Media (TTS-Service)
KI-generierte Inhalte werden via compliance-tts-service (Port 8095) in Audio und Video umgewandelt:
- Audio: Piper TTS → MP3 (Modell:
de_DE-thorsten-high.onnx)
- Video: FFmpeg → MP4 (Skript + Stimme + Untertitel)
- Storage: S3-kompatibles Object Storage (Hetzner, TLS)
- Streaming:
/media/:id/stream → 307 Redirect zu MinIO Presigned URL
Frontend
Admin-Frontend
URL: https://macmini:3007/sdk/training
6-Tab-Oberflaeche mit:
- Statistik-Dashboard (Abschlussquote, offene Schulungen, Deadlines)
- Modul-CRUD mit Regulierungs-Badges und Loeschfunktion
- Interaktive Rollenmatrix (Checkboxen)
- Fortschritts-Balken pro Assignment
- Eingebetteter Audio/Video-Player fuer KI-generierte Inhalte
Learner-Portal
URL: https://macmini:3007/sdk/training/learner
4-Tab-Oberflaeche fuer Mitarbeiter:
- Meine Schulungen: Zuweisungsliste mit Status, Fortschritt, Deadline
- Schulungsinhalt: Markdown-Rendering, Audio-Player, Video-Player
- Quiz: Multiple-Choice mit Timer, Ergebnis-Anzeige, Bestehens-Logik
- Zertifikate: Uebersicht abgeschlossener Schulungen, PDF-Download
Datenbankschema (Go — ai-compliance-sdk)
Die Training Engine verwendet eigene Tabellen im compliance Schema:
Tests