Files
3d.lehrstun.de/CHANGELOG.md

7.3 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-25 — L3 voll geschrieben (Customizer-Workflow)

  • L3 war noch Stub (661 Z) — jetzt 5938 Z. Pädagogisch konsistent zu L1+L2: MakerWorld-Customizer-Konzept, 5-Schritte-Workflow (Modell finden → Customizer → Werte ändern → Generate → drucken), eigener Schlüsselanhänger als Aufgabe, Mini-Aufgabe „selbst denken", Brücke zu L5+ (TinkerCAD wenn Customizer an Grenzen kommt).
  • Live + auf Server ausgerollt via scripts/lektionen_seed.py (jetzt mit L3 in der Liste).

2026-05-25 — LIVE auf https://3d.lehrstun.de + PummelHummel-Integration

  • PummelHummel/Alph integriert: feedback_modul/ vom PummelHummel-Projekt kopiert, in app.py via init_feedback_modul registriert. User-Kontext liefert Tier+Vorname statt Tier+Kasten. Widget aktiv ab einstellung.feedback_widget_aktiv='1'.
  • DNS-A-Record 3d.lehrstun.de → 46.225.114.15 via Hetzner Cloud DNS-CLI.
  • Hetzner-Deploy: Repo geklont nach /home/herb/3d.lehrstun.de, venv + pip install, .env mit Admin-Passwort Lessing3d, seed.py + lektionen_seed (14 Lektionen) + feedback-Schema.
  • systemd-Service 3d-ag.service (analog arduino-db.service), Port 5058 (5057 war belegt von meta.lehrstun.de uvicorn — app.py liest PORT jetzt aus ENV).
  • nginx vhost 3d.lehrstun.de + certbot HTTPS + auto-redirect HTTP→HTTPS.
  • Smoke-Test live bestanden: https://3d.lehrstun.de/ + /lektionen (14) + Admin-Login mit Lessing3d.
  • Bereit für Markus' Alpha-Test als Schüler-Login.

2026-05-24 — 14 Lektionen aufeinander aufbauend (L1-L14)

  • L4-L14 mit voll geschriebenen Inhalten (3300-4900 Z. pro Lektion).
  • Phasen: A (L1-L3, Onboarding), B (L4-L7, Verstehen + TinkerCAD), C (L8-L11, Projekte + Vertiefung), D (L12-L13, Onshape), E (L14, Capstone).
  • Material-Quellen umgesetzt: NRW-Handreichung, DigiLab A1-mini, Bambu-Wiki, Onshape-Briefing.
  • scripts/lektionen_seed.py als idempotenter Loader.
  • docs/lektionen-plan.md als Übersicht mit pädagogischer Logik.

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 (Herr Rechmann 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