# Academy — Schulungsmodul

Das Academy-Modul ermoeglicht die Verwaltung von Datenschutz-Schulungen und -Zertifizierungen.

## Features

- **Kursverwaltung** — DSGVO-, KI- und branchenspezifische Schulungskurse erstellen und verwalten
- **KI-Kursgenerierung** — Automatische Generierung von Schulungsinhalten ueber Claude API mit RAG-Kontext
- **Modulare Struktur** — Kurse bestehen aus Lektionen (Text, Video, Quiz) in konfigurierbarer Reihenfolge
- **Quiz-Auswertung** — Serverseitige Auswertung von Multiple-Choice-Quizfragen mit Bestehensgrenze
- **Teilnehmer-Tracking** — Fortschritt, Abschlussquoten und Fristenueberwachung
- **PDF-Zertifikate** — Automatische Generierung von Schulungszertifikaten als PDF (Name, Kurs, Datum, Score, Gueltigkeit)
- **Video-Generierung** — Optional: KI-generierte Schulungsvideos mit ElevenLabs (TTS) und HeyGen (Avatar)
- **Compliance-Nachweis** — Zertifikate als Audit-Nachweis gemaess Art. 5 Abs. 2 DSGVO

## Rechtsgrundlage

| Vorschrift | Anforderung |
|-----------|-------------|
| DSGVO Art. 39 Abs. 1 lit. b | DSB muss Schulung und Sensibilisierung ueberwachen |
| DSGVO Art. 5 Abs. 2 | Rechenschaftspflicht — Schulungen dokumentieren und nachweisen |
| EU AI Act Art. 4 | AI-Literacy-Schulung fuer KI-Nutzer ab 2026 |
| HinSchG | Schulung zu Meldewegen und Hinweisgeberschutz |
| NIS2 | Cybersecurity-Schulungen fuer kritische Infrastruktur |

## API Endpoints

Alle unter `/api/v1/academy/`, benoetigen `X-Tenant-ID` Header.

| Method | Endpoint | Beschreibung |
|--------|----------|-------------|
| GET | `/courses` | Kurse auflisten |
| POST | `/courses` | Neuen Kurs erstellen |
| GET | `/courses/{id}` | Kursdetails mit Lektionen |
| PUT | `/courses/{id}` | Kurs aktualisieren |
| DELETE | `/courses/{id}` | Kurs loeschen |
| GET | `/statistics` | Dashboard-Statistiken |
| GET | `/enrollments` | Einschreibungen auflisten |
| POST | `/enrollments` | Mitarbeiter einschreiben |
| PUT | `/enrollments/{id}/progress` | Fortschritt aktualisieren |
| POST | `/enrollments/{id}/complete` | Kurs abschliessen |
| POST | `/lessons/{id}/quiz` | Quiz-Antworten einreichen |
| POST | `/enrollments/{id}/certificate` | PDF-Zertifikat generieren |
| GET | `/certificates/{id}` | Zertifikat-Details |
| GET | `/certificates/{id}/pdf` | PDF herunterladen |

## Frontend

Seite unter `/sdk/academy` mit Kursuebersicht, Modulverwaltung und Teilnehmer-Tracking.

## Datenbank

Migration `008_academy_schema.sql` erstellt Tabellen fuer Kurse, Lektionen, Quizfragen, Einschreibungen, Lektionsfortschritt und Zertifikate.
