6.8 KiB
6.8 KiB
type, projekt, tags
| type | projekt | tags | |
|---|---|---|---|
| log | 3d.lehrstun.de |
|
CHANGELOG — 3d.lehrstun.de
Format: [Datum] — Kurz-Beschreibung. Details bei nicht-trivialen Änderungen.
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.15via Hetzner Cloud DNS-CLI. - Hetzner-Deploy: Repo geklont nach
/home/herb/3d.lehrstun.de, venv + pip install, .env mit Admin-PasswortLessing3d, 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.pyals idempotenter Loader.docs/lektionen-plan.mdals Ü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_anfrageon-demand angelegt. - Lehrer-Dashboard (V5): Drill-Down
/admin/dashboardmit 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.pytrennen 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
4658d49mit kompletter Konzept v2 + Etappe 1 (alles aus den vorigen CHANGELOG-Eintraegen). - Gitea-Repo
admin/3d.lehrstun.devia API angelegt, SSH-Remote auf Port 2222. .gitignoreergaenzt 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), Decoratorslogin_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 inaenderung_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
- Projekt-Skelett angelegt: CLAUDE, kurskonzept, decisions, README, leeres Flask-Gerüst (
app.py,database.py,tiere.py). - Recherche zu Bambu Lab Education, Modell-Plattformen, didaktischen Vorbildern, Bambu Cloud-API durchgeführt.
- Entscheidungen E-001 bis E-011 dokumentiert (decisions).
- Vault-Struktur ergänzt:
.obsidian/-Konfig, COCKPIT als Startseite, Konzept-Module (architektur, datenmodell, routen, druckerapi, slotsystem, sicherheit, etappen, offene-fragen, glossar), Lektions-Stubs L1/L2/L3, Software-Tool-Stubs (Bambu Studio/Handy, Printables, MakerWorld, TinkerCAD, OpenSCAD).