Files
3d.lehrstun.de/CHANGELOG.md
Hans Puettmann abf96ca8f2 Etappe 2: Cockpit progressiv + Check-In + Paarung + Lehrer-Dashboard
Cockpit (V1, progressives Layout):
- /cockpit zeigt nur Karten, die zum Status passen.
  Onboarding-Karte nur fuer Neue; Paarungs-Karte immer wenn aktiv;
  Drucker-Buchung erst nach L1 fertig.
- Banner-System: ungelesene Lehrer-Notizen, offene Rueckfragen,
  eingegangene Paarungs-Anfragen.

Check-In (V3 + E-021):
- Modal beim ersten Cockpit-Aufruf eines Besuchstages.
- "Ich arbeite weiter" als Default-Ein-Klick-Option.
- Freitext optional.
- POST /cockpit/check-in mit UNIQUE-Constraint pro Tag.

Onboarding-Status (E-019):
- /cockpit/lektion/<nr>/status (selbst-zertifiziert).
- profil_lektion_status-Tabelle, ON CONFLICT-Upsert.

Paarung (E-002):
- profil_anfrage-Tabelle on-demand.
- Anfrage stellen / annehmen / ablehnen / aufloesen.
- Konflikt-Check (keine Doppel-Paarungen).
- Banner im Cockpit des Adressaten.

Lehrer-Dashboard (V5, docs/lehrer-dashboard.md):
- /admin/dashboard mit 4 Sektionen (Wer ist heute hier / Wartet auf
  Review / Drucker-Status / Wer haengt fest) + Schnell-Zahlen + offene
  Rueckfragen.
- "Notiz hinterlassen"-Quick-Action via lehrer_notiz-Tabelle.
- Live-Drucker-Status kommt mit Etappe 5 (aktuell nur DB-Stand).

Daten-Helper getrennt:
- services/cockpit_status.py: Bundle fuer progressives Cockpit
- services/dashboard_status.py: 4-Sektionen-Queries

Vorgezogen aus Etappe 3:
- /lektionen + /lektion/<nr> Minimal-Renderer mit Markdown
- 3 Onboarding-Lektionen als Seeds (Platzhalter-Text fuer Markus)

Smoke-Test bestanden: Login als neuer SuS -> Onboarding ->
Check-In -> L1 fertig -> Paarung mit zweitem SuS -> Admin-Dashboard
-> Lehrer-Notiz -> Banner im Cockpit.
2026-05-24 19:13:19 +02:00

5.4 KiB

type, projekt, tags
type projekt tags
log 3d.lehrstun.de
changelog

CHANGELOG — 3d.lehrstun.de

Format: [Datum] — Kurz-Beschreibung. Details bei nicht-trivialen Änderungen.

2026-05-24 — Etappe 2 lauffähig (Cockpit progressiv + Check-In + Paarung + Lehrer-Dashboard)

  • Cockpit progressiv (V1): zeigt nur Karten, die zum Status passen. Onboarding-Karte verschwindet wenn alle L1-L3 fertig; Paarungs-Karte erscheint immer wenn Paarung aktiv; Drucker-Buchung erst nach L1.
  • Check-In (V3 + E-021): Modal beim ersten Cockpit-Aufruf eines Besuchstages, „Ich arbeite weiter" als Default-Ein-Klick-Option, Freitext optional.
  • Onboarding-Lektion-Status (E-019): selbst-zertifiziert via /cockpit/lektion/<nr>/status (offen → läuft → fertig).
  • Paarung (E-002): Anfrage → Cockpit-Banner beim Adressaten → annehmen/ablehnen. Tabelle profil_anfrage on-demand angelegt.
  • Lehrer-Dashboard (V5): Drill-Down /admin/dashboard mit 4 Sektionen (Wer ist heute hier, Wartet auf Review, Drucker-Status, Wer hängt fest) + Schnell-Zahlen + offene Rückfragen.
  • Quick-Action „Notiz hinterlassen": Lehrer schreibt aus Dashboard direkt ins SuS-Cockpit (lehrer_notiz-Tabelle).
  • Lektion-Detail-Seite (Minimal): /lektionen + /lektion/<nr> mit Markdown-Rendering + Status-Buttons für eingeloggte SuS.
  • 3 Onboarding-Lektionen als Seeds mit Platzhalter-Inhalt (Markus füllt später via Inline-Edit).
  • Datei-Helper: services/cockpit_status.py + services/dashboard_status.py trennen Daten-Logik vom HTTP-Layer.
  • Smoke-Test bestanden (Login als neuer SuS → Onboarding → Check-In → L1 fertig → Paarung mit zweitem SuS → Admin-Dashboard → Lehrer-Notiz → Banner im Cockpit).

2026-05-24 — Git-Repo angelegt + Gitea-Push

  • Lokales Git-Repo initialisiert (branch main).
  • Initial-Commit 4658d49 mit kompletter Konzept v2 + Etappe 1 (alles aus den vorigen CHANGELOG-Eintraegen).
  • Gitea-Repo admin/3d.lehrstun.de via API angelegt, SSH-Remote auf Port 2222.
  • .gitignore ergaenzt um Obsidian-User-State (workspace.json, cache, plugins/).

2026-05-24 — Etappe 1 lauffähig

  • Blueprint-Struktur etabliert (V8): routes/oeffentlich.py, routes/profil.py, routes/admin.py, routes/api.py, services/auth.py, services/bambu.py (Stub), services/datei.py (Stub).
  • app.py zu Bootstrap umgebaut (~100 Z.) — registriert Blueprints, definiert Markdown-Filter, Context-Processor, Error-Handler (404/500/501).
  • database.py mit allen Tabellen aus datenmodell — idempotent via CREATE TABLE IF NOT EXISTS. Inkl. profil_lektion_status, login_lockout, projekt_*, lehrer_notiz, ag_mitgliedschaft, check_in (E-021), aenderung_log.
  • Auth-Layer in services/auth.py: bcrypt-PIN-Hashing/-Pruefung, persistenter Lockout in DB (V7), Decorators login_required + admin_required + onboarding_l1_fertig (V2).
  • Profil-Login funktional: 4-stellige PIN, Rate-Limit 5 Versuche / 5 Min → 15 Min DB-Sperre.
  • Admin-Login + Profile-Verwaltung: Neue Profile mit Auto-PIN-Generation (einmalig sichtbar), PIN-Reset, aktiv-Toggle, Druckbogen für PIN-Karten (CSS-Print).
  • Inline-Edit-Infrastruktur in routes/admin.py: ERLAUBTE_INLINE_TABELLEN-Whitelist, /admin/inline-edit-POST mit Audit-Log in aenderung_log.
  • seed.py mit Initial-Daten: AG lessing-3d-ag, 4 Drucker (3 geschlossen + A1 mini), 3 Default-Einstellungen.
  • Templates portiert: login.html, login_pin.html, cockpit_stub.html, admin_login.html, admin_profile.html, admin_profile_karten.html, 501.html.
  • Smoke-Test bestanden: Admin-Login, Profil-Anlage, SuS-Login mit PIN, Falsche-PIN-Lockout-Logging — alles funktional.

2026-05-24 — Reality-Check + Selbstlern-Loop (Konzept v2)

  • Reality-Check-Analyse aus vier Perspektiven (neuer SuS / erfahrener SuS / Lehrer / Technik) + Vergleich mit arduino.lehrstun.de. Plan-Datei: ~/.claude/plans/f-hre-noch-einmal-eina-cosmic-wind.md (approved).
  • Wichtige Konzept-Korrektur: AG ist offen, jahrelang, keine festen Termine. Pflicht-Lektionen werden zu Onboarding-Pfad für Neue.
  • Neue Module dokumentiert: selbstlern-loop (Projekt-Lebenszyklus + interne Bibliothek), lehrer-dashboard (Drill-Down: Wer ist hier / Wartet auf Review / Wer hängt fest).
  • Entscheidungen E-012 bis E-022 dokumentiert (decisions): u.a. Selbstlern-Loop, Vernetzung Variante 1, Feedback A-Variante, Three.js, Blueprint-Struktur, persistenter Login-Lockout, ZSL-Material-Strategie.
  • Reichhaltig überarbeitet: kurskonzept auf v2, datenmodell (5 neue Tabellen), routen (Selbstlern-Loop-Routen + Drill-Down), etappen (mit Blueprint von Anfang an), offene-fragen (geklärtes raus).
  • COCKPIT.md mit erweitertem Mermaid-Diagramm und neuen Wikilinks.

2026-05-23