No description
Find a file
2026-09-15 14:35:00 +02:00
assets feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
courses feat(diagrams): add ER, Struktogramm (DIN 66261) and UML editors, revise IHK exam simulation questions and enhance typography contrast 2026-09-15 13:46:05 +02:00
lehrpfad_1_grundlagen fix(navigation): resolve dashboard links, auth session persistence and chapter backlinks across all courses 2026-09-12 20:53:56 +02:00
lehrpfad_2_oop_einstieg fix(navigation): resolve dashboard links, auth session persistence and chapter backlinks across all courses 2026-09-12 20:53:56 +02:00
lehrpfad_3_fortgeschrittenes_oop fix(navigation): resolve dashboard links, auth session persistence and chapter backlinks across all courses 2026-09-12 20:53:56 +02:00
lehrpfad_4_professional_data_engineering fix(navigation): resolve dashboard links, auth session persistence and chapter backlinks across all courses 2026-09-12 20:53:56 +02:00
.gamification.json Workspace IDE: app_auth.js eingebunden für automatischen Session- und Fortschritts-Sync 2026-09-12 13:29:37 +02:00
.gitignore docs: Umfassende Dokumentation & Architektur-Referenz fuer das IT-Praxisportal 2026-09-12 15:15:59 +02:00
.htaccess Verfeinerung nach Sub-Agent-Audit: Sicherheits-Härtung (HMAC, IDOR-Schutz, .htaccess), Dynamische Parsons-Puzzles, 4-Stufen-Scaffolding, Code-Inspektor & CSV-Export 2026-08-29 20:57:54 +02:00
.nojekyll Perfektes statisches App-Layout mit nativer Sidebar, .nojekyll für GitHub Pages und validierten Non-Nested Karten 2026-08-29 16:00:38 +02:00
admin.html fix(navbar): responsive navbar scaling, 1240px drawer collapse, flex-shrink fix and mobile spacing v2.2.1 2026-09-12 22:02:54 +02:00
api.php Implementiere mehrschichtigen Code-Guard & Sandbox-Schutz: AST-Musterprüfung, Pyodide-Härtung (Sperrung von js/subprocess/socket) und Timeout-Schutz 2026-08-29 21:21:27 +02:00
create_java_modules.py IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
dashboard.html feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
datenschutz.html feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
diagram_editor.html feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
gamification.py Restrukturiere Verzeichnisstruktur in 3 saubere Lehrpfad-Ordner (lehrpfad_1_grundlagen, lehrpfad_2_oop_einstieg, lehrpfad_3_fortgeschrittenes_oop) 2026-08-29 15:07:16 +02:00
generate_csharp_modules.py IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
generate_questions.py feat(ihk): add complete AP2 courses for FIAE, FIDP, and FIDV (ZPA 2. Auflage) 2026-09-14 21:49:29 +02:00
impressum.html feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
index.html feat(ui): streamline top navigation, implement user avatar dropdown, and enforce strict non-azubi course filtering 2026-09-15 14:35:00 +02:00
LEHRPLAN.md Erstelle Lehrpfad 4: Python Professional & Data Engineering (Module 17-22: Regex, Functional, Generatoren, Dataclasses, SQLite, REST-APIs) 2026-08-29 23:33:04 +02:00
make_admin.py feat(admin): implement full admin panel with user management, role switcher and platform settings 2026-09-12 14:00:53 +02:00
profil.py Implementiere persistente Gamification (Level 1-10, XP, 14 Badges, profil.py CLI & Web-HUD für lokale Offline-Nutzung) 2026-08-29 14:51:06 +02:00
README.md docs: Umfassende Dokumentation & Architektur-Referenz fuer das IT-Praxisportal 2026-09-12 15:15:59 +02:00
server.py feat(dashboard): filter AP2 courses strictly by user account profession 2026-09-15 08:53:06 +02:00
teacher.html fix(navbar): responsive navbar scaling, 1240px drawer collapse, flex-shrink fix and mobile spacing v2.2.1 2026-09-12 22:02:54 +02:00
test_all.py Erstelle Lehrpfad 4: Python Professional & Data Engineering (Module 17-22: Regex, Functional, Generatoren, Dataclasses, SQLite, REST-APIs) 2026-08-29 23:33:04 +02:00
workspace.html feat(diagrams): add ER, Struktogramm (DIN 66261) and UML editors, revise IHK exam simulation questions and enhance typography contrast 2026-09-15 13:46:05 +02:00

🚀 IT-Praxisportal

Status Kurse Module IHK Prüfung Editor Compliance

Die interaktive Lern- und Prüfungsvorbereitungs-Plattform für Fachinformatiker, IT-Systemelektroniker und Software-Entwickler.
Echte IT-Praxis statt trockener Theorie: 13 Schlüsseltechnologien, 216 didaktisch aufbereitete Module, Monaco Web-IDE und realistische IHK-Abschlussprüfungssimulationen – direkt im Browser ohne lokale Installation.


📋 Inhaltsverzeichnis

  1. Überblick & Vision
  2. Systemarchitektur & Komponenten
  3. Die 13 Fachdisziplinen & Modul-Matrix
  4. Monaco Web-IDE & Multi-Runner Engine
  5. IHK-Prüfungstrainer & Simulations-Engine
  6. Backend, Sicherheit & Authentifizierung
  7. Datenbank-Schema & Persistenz
  8. Setup, Deployment & Betriebsführung
  9. REST-API Dokumentation
  10. Rollen- & Berechtigungskonzept

💡 Überblick & Vision

Das IT-Praxisportal schließt die Lücke zwischen theoretischem Berufsschulunterricht und den realen Anforderungen moderner IT-Unternehmen.

  • Didaktik mit Sofort-Feedback: Jedes Modul gliedert sich in ein prägnantes Theoriestück, nummerierte Teilziele (Subgoals) und automatisierte Testsuiten, die geschriebenen Code im Sekundentakt auf syntaktische und semantische Korrektheit prüfen.
  • Zero-Install Workflow: Schüler, Azubis und Umschüler benötigen keinerlei vorkonfigurierte Entwicklungsumgebung. Der Microsoft Monaco Editor (Kern von VS Code) stellt Syntax-Highlighting, Autocomplete und Terminal-Output direkt im Browser zur Verfügung.
  • Offizieller IHK-Prüfungsstandard: Vollständige Abdeckung der gemeinsamen Kernqualifikationen (Lernfelder 1–8) für die Abschlussprüfung Teil 1 (AP1) sowie fachspezifischer Inhalte (LF 9–12) für die Abschlussprüfung Teil 2 (AP2) der Fachrichtung Systemintegration nach Ausbildungsordnung AO 2020.
  • 100% Datenschutz & DSGVO: Vollständiger Verzicht auf externe Tracking-Skripte oder US-Cloud-Abhängigkeiten. Gehostet auf dedizierten Servern in Deutschland.

🏛️ Systemarchitektur & Komponenten

Das Projekt folgt einer sauberen Trennung zwischen einer statischen, hochperformanten Frontend-Schicht, einem leichtgewichtigen Multi-Threaded Python REST-Backend und einem Caddy Reverse Proxy mit automatischem TLS.

                    ┌────────────────────────────────────────────────────────┐
                    │               Internet / Webbrowser                    │
                    └───────────────────────────┬────────────────────────────┘
                                                │ HTTPS (Port 443 / TLS 1.3)
                                                ▼
┌────────────────────────────────────────────────────────────────────────────────────────────┐
│                               Caddy 2 Reverse Proxy                                       │
│  - HSTS, CSP, SAMEORIGIN, nosniff Security Header                                          │
│  - No-Cache Richtlinien für HTML/JS Kernskripte                                            │
│  - Download-Schutz für .db, .env, .secret_key, Backups & Prüfungen                         │
└───────────────────────────────┬────────────────────────────┬───────────────────────────────┘
                                │                            │
          Statische Assets      │                            │  /api/* REST-Routen
         (HTML, CSS, JS, WASM)  │                            │  (Reverse Proxy 127.0.0.1:8008)
                                ▼                            ▼
┌──────────────────────────────────────────────┐ ┌──────────────────────────────────────────┐
│          Statische Plattform                 │ │        Python 3 REST-API Backend         │
│                                              │ │             (server.py)                  │
│ • index.html      (Marketing & Curriculum)   │ │ • Token Auth (HMAC SHA-256)              │
│ • dashboard.html  (Geschützter Kurs-Hub)     │ │ • PBKDF2 Password Hashing                │
│ • workspace.html  (Monaco Web-IDE)           │ │ • IP-basiertes Rate Limiting             │
│ • teacher.html    (Dozenten-Dashboard)       │ │ • Wartungsmodus & System-Settings        │
│ • admin.html      (System-Admin Panel)       │ │ • Multi-Tenancy (Klassenräume)           │
│ • assets/         (CSS, JS, Tools, Pyodide)  │ │ • ThreadingMixIn für hohe Nebenläufigkeit│
│ • courses/        (13 Kursbäume / 216 Module)│ └────────────────────┬─────────────────────┘
└──────────────────────────────────────────────┘                      │
                                                                      │ SQLite3
                                                                      ▼
                                                 ┌──────────────────────────────────────────┐
                                                 │        SQLite3 Datenbank                 │
                                                 │         (platform_data.db)               │
                                                 │ • users, chapter_progress                │
                                                 │ • classrooms, class_enrollments          │
                                                 │ • certificates, platform_settings        │
                                                 │ • audit_log                              │
                                                 └──────────────────────────────────────────┘

📚 Die 13 Fachdisziplinen & Modul-Matrix

Das Portal umfasst insgesamt 216 strukturierte Lerneinheiten, gegliedert in 4 Schwerpunktbereiche:

# Fachdisziplin ID Module Lehrpfade Runner / Engine Themenschwerpunkte
01 IHK AP1 Prüfungsvorbereitung ihk_ap1 12 2 Web-IDE / JS LF 1–8 Kernqualifikation, Datenschutz/DSGVO, IPv4/IPv6 Subnetting, Trace-Tabellen, SQL-Labor, 90-Min Probeprüfung
02 IHK AP2 Systemintegration ihk_ap2_fisi 9 2 Web-IDE / JS LF 9–12 FISI: Routing & VLANs, Active Directory & GPO, Storage/RAID, Cloud/Docker, WiSo-Fragen, 40h-Projektarbeit
03 Python 3 Professional python 35 4 Pyodide WASM Variablen, Kontrollfluss, Listen/Dicts, OOP, Vererbung, TDD Unittests, Tkinter Desktop-GUIs, SQLite & REST-APIs
04 Linux Bash & Cloud DevOps bash 16 4 Bash Test-Runner Streams, Pipes, Text-Mining (jq, sed, awk), Strict Mode (set -euo pipefail), xargs Parallelisierung, Docker, BATS Tests
05 PowerShell 7+ Core powershell 16 4 PS / Pester Cmdlets, .NET Objekt-Pipeline, [PSCustomObject], Moderne Operatoren, ForEach-Object -Parallel, REST-APIs, Pester v5 Unit Tests
06 SQL & Datenbank-Architektur sql 16 4 SQLite SQL-Runner 1NF–3NF Normalisierung, Multi-Table JOINs, Subqueries, CTEs (WITH), Window Functions (OVER), ACID Transaktionen
07 JavaScript & TypeScript javascript 16 4 Node / Browser-JS ES6+ Syntax, Klassen & OOP, Async/Await, DOM-Events, LocalStorage, ES-Module, TypeScript Generics & Type Guards
08 Java 21+ Enterprise java 16 4 JUnit 5 Runner Strikte Typisierung, Records, OOP-Vererbung, Interfaces, Generics, Streams API, Virtual Threads (Project Loom), JUnit 5 Tests
09 Rust Systems & Safety rust 16 4 Cargo Testsuite Ownership- & Borrowing-System, Lifetimes, Option/Result Monaden, Traits, Smart Pointer (Arc, Mutex), Concurrency, LRU-Cache
10 Go Cloud Microservices go 16 4 Go Test-Runner Slices, Maps, Structs, Duck Typing Interfaces, Goroutines, Channels & Select, net/http REST Server, Table-Driven Tests
11 C# 12 & .NET 8 Enterprise csharp 16 4 xUnit Test-Runner Top-Level Statements, Pattern Matching, Records, LINQ funktionale Abfragen, Async/Await Tasks, xUnit Tests, Order Engine Master
12 C & Modernes C++20 Systems cpp 16 4 GoogleTest Runner Pointer & Adressoperatoren, manueller Heap (malloc/free), RAII-Prinzip, Rule of Five, Templates, Smart Pointer, STL Container
13 HTML5, CSS3 & Responsive UI html_css 16 4 DOM Assertion Semantische Tags, Barrierefreiheit (ARIA/A11y), CSS Box-Modell, Flexbox, CSS Grid, Media Queries, Dark Mode Themes

💻 Monaco Web-IDE & Multi-Runner Engine

Die Arbeitsumgebung (workspace.html) ist für produktives, ablenkungsfreies Arbeiten konzipiert:

  • VS Code Monaco Editor: Vollwertige Editor-Features inklusive Zeilennummern, Syntax-Färbung, Klammerpaar-Highlighting und Shortcuts (Strg+Enter zum Ausführen, Strg+Shift+Enter für Tests).
  • Split-Screen Ergonomie: Linke Hälfte für didaktische Aufgabenstellung, Subgoals, Theorie-Spickzettel und gestuftes Tipp-System; rechte Hälfte für Code-Editor und Live-Terminal.
  • Client-Side Python (Pyodide): Python-Code wird vollständig im Browser via WebAssembly (WASM) ausgeführt – maximale Geschwindigkeit ohne Serverlast.
  • Multi-Language Runners: Vorbereitete Ausführungspipelines für alle 13 Sprachen mit farbiger Standard-Out- und Standard-Error-Differenzierung.
  • Automatisches Cloud-Save: Editierter Code wird verzögerungsfrei via Debouncing im Browser und in der Cloud gesichert.

🎓 IHK-Prüfungstrainer & Simulations-Engine

Im Prüfungsbereich können Auszubildende ihr Wissen unter echten Prüfungsbedingungen testen:

  • 90-Minuten Countdown: Realistische Zeiteinteilung wie in der IHK-Abschlussprüfung.
  • Offizieller IHK-Notenschlüssel: Automatische Berechnung von Prozentwerten, Punkten (max. 100) und IHK-Noten (1 bis 6) gemäß Prüfungsstandard.
  • Subnetting-Drill Generator: Unendlicher Aufgabenpool für IPv4- und IPv6-Berechnungen (Netz-ID, Broadcast, erste/letzte nutzbare Hostadresse, Binär- und CIDR-Masken).
  • Trace-Tabellen Simulator: Schrittweise Ausführung von Pseudocode- und Struktogramm-Logiken mit Überprüfung von Variablenzuständen.

🛡️ Backend, Sicherheit & Authentifizierung

Das Backend (server.py) ist auf maximale Zuverlässigkeit, Wartungsfreundlichkeit und Sicherheit gehärtet:

  • HMAC-SHA256 Token Sessions: Zustandsloses, kryptografisch signiertes Sitzungsformat mit 12-stündiger Gültigkeit (exp) und Timing-Safe Verifikation (hmac.compare_digest).
  • Passwort-Sicherheit: Passwörter werden mit PBKDF2-HMAC-SHA256 unter Verwendung von 100.000 Iterationen und individuellem 16-Byte kryptografischem Salz gespeichert.
  • Schutz vor Brute-Force: In-Memory Rate-Limiter beschränkt fehlgeschlagene Anmelde- und Registrierungsversuche pro IP-Adresse.
  • Reverse-Proxy Trusted IP Check: Authentifizierungs- und Schutzmechanismen prüfen X-Real-IP und X-Forwarded-For ausschließlich dann, wenn die Verbindung von einem vertrauenswürdigen lokalen Reverse-Proxy (127.0.0.1, ::1, Docker-Bridge 172.16.0.0/12) stammt.
  • Wartungsmodus (Maintenance Mode): Per Klick im Admin-Panel aktivierbar. Nicht-Admins erhalten HTTP 503 und einen bildschirmfüllenden Wartungsscreen; Administratoren behalten uneingeschränkten Zugriff für Deployments.

🗄️ Datenbank-Schema & Persistenz

Alle Anwendungsdaten werden in einer relationalen SQLite-Datenbank (platform_data.db) mit Foreign-Key-Unterstützung und Indizes verwaltet:

-- 1. Benutzer & Rollen
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    email TEXT UNIQUE NOT NULL,
    password_hash TEXT NOT NULL,
    salt TEXT NOT NULL,
    name TEXT NOT NULL,
    role TEXT NOT NULL DEFAULT 'student',  -- 'admin', 'teacher', 'student', 'solo'
    xp INTEGER NOT NULL DEFAULT 0,
    level INTEGER NOT NULL DEFAULT 1,
    streak_days INTEGER NOT NULL DEFAULT 1,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    last_login TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 2. Kapitel-Fortschritt
CREATE TABLE IF NOT EXISTS chapter_progress (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    user_id INTEGER NOT NULL,
    chapter_id TEXT NOT NULL,
    code_draft TEXT,
    subgoals_json TEXT,
    is_solved BOOLEAN NOT NULL DEFAULT 0,
    solved_at TIMESTAMP,
    UNIQUE(user_id, chapter_id),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- 3. Klassenräume & Einschreibungen
CREATE TABLE IF NOT EXISTS classrooms (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    teacher_id INTEGER NOT NULL,
    name TEXT NOT NULL,
    invite_code TEXT UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (teacher_id) REFERENCES users(id) ON DELETE CASCADE
);

CREATE TABLE IF NOT EXISTS class_enrollments (
    classroom_id INTEGER NOT NULL,
    user_id INTEGER NOT NULL,
    joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (classroom_id, user_id),
    FOREIGN KEY (classroom_id) REFERENCES classrooms(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- 4. Verifizierbare Zertifikate
CREATE TABLE IF NOT EXISTS certificates (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    uuid TEXT UNIQUE NOT NULL,
    user_id INTEGER NOT NULL,
    track_id TEXT NOT NULL,
    student_name TEXT NOT NULL,
    issued_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- 5. Globale Plattform-Einstellungen & Wartung
CREATE TABLE IF NOT EXISTS platform_settings (
    key TEXT PRIMARY KEY,
    value TEXT NOT NULL,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 6. Revisionssicheres Audit-Log
CREATE TABLE IF NOT EXISTS audit_log (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    user_id INTEGER,
    action TEXT NOT NULL,
    details TEXT,
    ip_address TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

🚀 Setup, Deployment & Betriebsführung

1. Lokale Entwicklung

# Repository klonen
git clone ssh://git@git.alex-mueller.biz:2222/alex-mueller/it-praxisportal.git
cd it-praxisportal

# Server starten
python3 server.py
# Server läuft auf http://localhost:8008

2. Systemd Service (Production)

Der API-Server wird über einen systemd-Dienst im Hintergrund betrieben:

# /etc/systemd/system/it-praxisportal-backend.service
[Unit]
Description=IT-Praxisportal API Backend Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/uebungen_python
ExecStart=/usr/bin/python3 /root/uebungen_python/server.py
Restart=always
RestartSec=3
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Service steuern:

systemctl daemon-reload
systemctl restart it-praxisportal-backend.service
systemctl status it-praxisportal-backend.service

3. Caddy Reverse Proxy Konfiguration

alpha.it-praxisportal.de {
    encode gzip zstd

    # Sicherheits-Header
    header {
        X-Frame-Options "SAMEORIGIN"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
        Permissions-Policy "camera=(), microphone=(), geolocation=()"
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    }

    # Frische-Garantie für Plattform-Skripte & HTML
    @noCache {
        path / /index.html *.html /assets/app_auth.js /assets/course_sidebar.js /assets/courses_manifest.js
    }
    header @noCache Cache-Control "no-cache, no-store, must-revalidate"

    # Backend REST API
    handle /api/* {
        reverse_proxy 172.17.0.1:8008 {
            header_up Host {host}
            header_up X-Real-IP {remote_host}
        }
    }

    # Schutz für vertrauliche Dateien
    @forbidden {
        path *.db *.sqlite* *.secret_key .git* *.py *.sh *.php *.sql *.env* *.bak *.log /exams/*
    }
    handle @forbidden {
        respond "Access denied" 403
    }

    # Statische Plattform-Auslieferung
    handle {
        root * /srv/it-praxisportal
        file_server
    }
}

📡 REST-API Dokumentation

Methode Pfad Authentifizierung Beschreibung
GET /api/platform/status Öffentlich Liefert Wartungsstatus, Ankündigungen & Registrierungs-Flag
POST /api/auth/register Öffentlich Registriert einen neuen Nutzer (email, password, name, role)
POST /api/auth/login Öffentlich Meldet Nutzer an und liefert HMAC-Bearer-Token
GET /api/auth/me Bearer Token Liefert Profildaten des angemeldeten Nutzers
GET /api/progress/get Bearer Token Liefert gelöste Kapitel und optional Code-Drafts
POST /api/progress/save Bearer Token Speichert Code-Entwurf und Teilziele für ein Modul
POST /api/progress/solve Bearer Token Markiert Modul als gelöst und vergibt XP/Level-Aufstieg
GET /api/classrooms/list Bearer Token Listet Klassenräume (für Schüler oder Dozenten)
POST /api/classrooms/create Dozent / Admin Erstellt neuen Klassenraum mit individuellem Einladungscode
POST /api/classrooms/join Schüler Tritt einer Schulklasse via Invite-Code bei
GET /api/classrooms/matrix Dozent / Admin Liefert Live-Fortschrittsmatrix aller Schüler einer Klasse
POST /api/certificates/create Bearer Token Generiert verifizierbare Zertifikats-UUID
GET /api/admin/stats Admin Liefert System-KPIs, Benutzerzahlen und Aktivitätsmetriken
GET /api/admin/users Admin Listet registrierte Benutzer mit Filter und Paginierung
POST /api/admin/users/role Admin Ändert Benutzerrolle (student, teacher, admin)
POST /api/admin/users/reset-password Admin Setzt Benutzerpasswort administrativ zurück
POST /api/admin/users/delete Admin Löscht Benutzerkonto und zugehörige Daten
POST /api/admin/settings Admin Ändert Plattform-Einstellungen (Wartungsmodus, Banner etc.)

👥 Rollen- & Berechtigungskonzept

  1. Gast / Unangemeldeter Besucher:
    • Sieht die Marketing-Landingpage (index.html) mit vollständiger Curriculum-Auflistung.
    • Kann keine Module in der Web-IDE starten (erhält Registrierungs-Modal).
  2. Schüler / Auszubildender (student / solo):
    • Hat vollen Zugriff auf den Lernbereich (dashboard.html), alle 13 Kurse, 216 Module und die Web-IDE (workspace.html).
    • Kann Klassenräumen beitreten, Lernfortschritte synchronisieren und Zertifikate ausstellen.
  3. Dozent / Ausbilder (teacher):
    • Beinhaltet alle Schülerrechte.
    • Hat Zugriff auf das Dozenten-Dashboard (teacher.html).
    • Kann Klassenräume erstellen, Einladungscodes vergeben und die Live-Lernmatrix der Klassenmitglieder einsehen.
  4. Administrator (admin):
    • Beinhaltet alle Schüler- und Dozentenrechte.
    • Hat exklusiven Zugriff auf das Admin Control Panel (admin.html).
    • Kann globale Plattform-Parameter (Wartungsmodus, Ankündigungen) konfigurieren, Benutzer verwalten, Passwörter zurücksetzen und das Audit-Log einsehen.
    • Hat auch bei aktivem Wartungsmodus vollen Zugriff auf alle Schnittstellen.

📄 Lizenz & Autoren