From 76addcb8466d7acfb284636311fad6b885a3f251 Mon Sep 17 00:00:00 2001 From: Hans Puettmann Date: Sun, 24 May 2026 19:51:19 +0200 Subject: [PATCH] Herr Rechmann + L3-Titel + L2-Workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drei Aenderungen aus Herbs Feedback: 1. Markus -> Herr Rechmann (60 Treffer in 26 Dateien + DB-Lektionen L2/L3) Konvention: Herb bleibt 'Herb' (interne Anrede fuer Claude), Markus wird in SuS-sichtbaren Texten als 'Herr Rechmann' ausgeschrieben. Wo 'Herb und Markus' stand -> 'Herb und Herr Rechmann'. Wenn das stilistisch zu uneinheitlich wirkt, koennen wir Herb spaeter auch in SuS-Texten zu 'Herr Puettmann' umziehen. 2. L3-Titel: 'Customizer — parametrisches 3D-Modell anpassen' -> 'Mein eigenes 3D-Modell designen' Begruendung Herb: 'Customizer' + 'parametrisch' wirken abschreckend. Methode kommt in den Aufgabe-Text, nicht in den Titel. 3. L2-Inhalt komplett geschrieben (~4.8 KB): - 8-Schritte-Workflow vom Stoebern auf Printables bis zum Druck-Abholen - A1-mini-Spezifika klar markiert (offen → nur PLA, 18×18 cm) - P-Serie-Spezifika fuer groessere Drucke - Tipps zur Modell-Wahl (klein anfangen, 4+ Sterne) - Was-tun-wenn-Tabelle bei Druckproblemen - Lehrer-Eskalations-Pfad: pausieren via Handy-App + Lehrer rufen Quellenlage: PDF-Anleitung A1 mini im OneDrive + Bambu-Wiki online waren beide nicht maschinell zugaenglich (pdftoppm fehlt, Wiki gibt HTTP 402). Workflow basiert auf Standard-Bambu-Studio-Bedienung + Konsistenz mit der L1-P2S-Beschreibung. Herb/Herr Rechmann pruefen die A1-mini-Spezifika beim Lehrer-Test und korrigieren via Inline-Edit (oder per Migration, wenn Inline-Edit-UI noch nicht live ist). --- CHANGELOG.md | 2 +- CLAUDE.md | 6 +++--- COCKPIT.md | 14 +++++++------- README.md | 6 +++--- docs/architektur.md | 2 +- docs/decisions.md | 6 +++--- docs/druckerapi.md | 2 +- docs/etappen.md | 10 +++++----- docs/glossar.md | 2 +- docs/kurskonzept.md | 16 ++++++++-------- docs/lehrer-dashboard.md | 2 +- docs/lektion-L1-drucker-kennenlernen.md | 4 ++-- docs/lektion-L2-modell-drucken.md | 2 +- docs/lektion-L3-customizer.md | 6 +++--- docs/offene-fragen.md | 8 ++++---- docs/routen.md | 2 +- docs/selbstlern-loop.md | 4 ++-- docs/sicherheit.md | 6 +++--- docs/slotsystem.md | 2 +- docs/software-openscad.md | 2 +- docs/software-printables.md | 2 +- .../2026-05-24_lektion_sprache_3d_modell.py | 4 ++-- seed.py | 8 ++++---- templates/admin_login.html | 2 +- templates/cockpit.html | 2 +- templates/login.html | 2 +- 26 files changed, 62 insertions(+), 62 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d4db49..fc3a85e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ Format: [Datum] — Kurz-Beschreibung. Details bei nicht-trivialen Änderungen. - **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/` 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). +- **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). diff --git a/CLAUDE.md b/CLAUDE.md index e3400c5..6177d67 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ name: 3d.lehrstun.de status: entwurf domain: 3d.lehrstun.de deployed: false -next_step: "Kurskonzept mit Markus durchgehen, offene Fragen klären" +next_step: "Kurskonzept mit Herr Rechmann durchgehen, offene Fragen klären" tags: [schule, 3d-druck, web, ag] --- @@ -25,7 +25,7 @@ tags: [schule, 3d-druck, web, ag] - **4 Bambu-Lab-Drucker**: 3× geschlossen (P1S/X1C/P2S) + 1× A1 mini (offen). - Eigener Druckraum, dauergelüftet. PLA + PLA+ Default, PETG/ABS unter Aufsicht. - Drucker dürfen über Nacht / Freistunden laufen. -- Herb hat 3D-Druck **selbst noch nie unterrichtet** — Inhalte folgen mit Markus. +- Herb hat 3D-Druck **selbst noch nie unterrichtet** — Inhalte folgen mit Herr Rechmann. - Drucker-Status via **Bambu Cloud-API** (Polling, mit Fallback auf manuell). - **Login:** Vorname + Tier-Icon + 4-stellige PIN. Sichtbarkeit: Lehrer voll, SuS nur Projekttitel. @@ -68,7 +68,7 @@ sudo systemctl start 3d-ag - [x] Skelett + Obsidian-Vault anlegen (2026-05-23) - [x] Reality-Check + Konzept v2 (2026-05-24) - [x] **Etappe 1: Blueprints + Schema + Login + Admin + Inline-Edit + Lockout** (2026-05-24) -- [ ] [[kurskonzept]] mit Markus durchgehen +- [ ] [[kurskonzept]] mit Herr Rechmann durchgehen - [ ] [[offene-fragen]] klären (Bambu-Account, A1-mini-Firmware) - [ ] Lokales Git-Repo + Gitea-Push - [ ] **Etappe 2:** Cockpit progressiv + Check-In + Paarung + [[lehrer-dashboard|Lehrer-Dashboard]] diff --git a/COCKPIT.md b/COCKPIT.md index 2c0d99f..c2ce4f1 100644 --- a/COCKPIT.md +++ b/COCKPIT.md @@ -15,7 +15,7 @@ tags: [3d-druck, ag, schule, cockpit] - **Stand:** Konzept v2 + **Etappe 1+2 lokal lauffaehig** (Login, Cockpit progressiv, Check-In, Paarung, Lehrer-Dashboard mit Drill-Down). Code: ~2500 Zeilen Python+HTML, Repo gepusht. - **Nichts deployed**, DNS noch nicht gesetzt. -- **Nächster Schritt:** Etappe 8 (ZSL-Material auswaehlen + umarbeiten) damit der Projekt-Katalog beim Start nicht leer ist. Oder Etappe 6 (Selbstlern-Loop voll). Oder Markus' Inhalte fuer L1-L3 einpflegen. +- **Nächster Schritt:** Etappe 8 (ZSL-Material auswaehlen + umarbeiten) damit der Projekt-Katalog beim Start nicht leer ist. Oder Etappe 6 (Selbstlern-Loop voll). Oder Herr Rechmann' Inhalte fuer L1-L3 einpflegen. - **Offene Klärungen:** [[offene-fragen]] (Bambu-Cloud-Account, A1-mini-Firmware, ZSL-Projekt-Auswahl) - **Lokal starten:** `venv/Scripts/python.exe app.py` → http://localhost:5057 (Admin-PW lokal: `lokal-test-123`) @@ -39,7 +39,7 @@ flowchart TB SL[Slot-Reservierungen
nach L1 fertig] end - subgraph Admin["Admin (Herb + Markus)"] + subgraph Admin["Admin (Herb + Herr Rechmann)"] AD[Drill-Down-Dashboard] RQ[Review-Queue
+ Three.js-Vorschau] DAQ[Druck-Queue] @@ -78,13 +78,13 @@ flowchart TB ### Wurzel - [[CLAUDE]] — Projektstatus + Quickstart (für Claude/Herb) -- [[README]] — Vorstellung für Markus + Aussenstehende +- [[README]] — Vorstellung für Herr Rechmann + Aussenstehende - [[CHANGELOG]] — was wurde wann angelegt ### Konzept -- [[kurskonzept]] — **Hauptdokument v2**, vollständiges Konzept zum Lesen (Markus, am Stück lesbar) +- [[kurskonzept]] — **Hauptdokument v2**, vollständiges Konzept zum Lesen (Herr Rechmann, am Stück lesbar) - [[selbstlern-loop]] — **Kern-Mechanismus** der AG: Wie Projekte wachsen + vernetzt werden -- [[lehrer-dashboard]] — **Drill-Down-Konzept** für Herb + Markus +- [[lehrer-dashboard]] — **Drill-Down-Konzept** für Herb + Herr Rechmann - [[architektur]] — Komponentensicht mit Mermaid-Diagramm - [[datenmodell]] — SQLite-Schema als ERD (mit allen neuen Tabellen) - [[routen]] — Vollständige Routen-Liste mit Blueprint-Aufteilung @@ -93,7 +93,7 @@ flowchart TB - [[sicherheit]] — Druckraum, Material, A1 mini - [[etappen]] — Implementierungs-Etappen 0-9 (mit Blueprint-Struktur von Anfang an) - [[offene-fragen]] — was wir noch besprechen müssen -- [[glossar]] — 3D-Druck-Begriffe für SuS und Markus +- [[glossar]] — 3D-Druck-Begriffe für SuS und Herr Rechmann ### Lektionen (Pflicht, Inhalte folgen) - [[lektion-L1-drucker-kennenlernen]] @@ -130,7 +130,7 @@ flowchart TB - `#entscheidung` — getroffene Entscheidung - `#druckerapi` — alles zur Bambu-Anbindung -## Hinweis für Markus +## Hinweis für Herr Rechmann Dieser Vault ist Markdown-only. Du kannst ihn mit Obsidian öffnen (`File → Open vault → diesen Ordner wählen`) und kriegst dann: diff --git a/README.md b/README.md index b697f14..b64bbbd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Web-Plattform für eine 3D-Druck-AG (Klasse 8 MINT, ca. 8-10 SuS, 4 Bambu-Lab-Drucker). -**Status:** Entwurf. Skelett angelegt, noch nicht lauffähig. Inhalte und Routen werden mit Markus + Herb sukzessive ergänzt. +**Status:** Entwurf. Skelett angelegt, noch nicht lauffähig. Inhalte und Routen werden mit Herr Rechmann + Herb sukzessive ergänzt. ## Was die Plattform kann (geplant) @@ -15,7 +15,7 @@ Web-Plattform für eine 3D-Druck-AG (Klasse 8 MINT, ca. 8-10 SuS, 4 Bambu-Lab-Dr ## Für wen ist das? -- **Primär:** Herb + Markus (Lehrkräfte), die SuS der AG. +- **Primär:** Herb + Herr Rechmann (Lehrkräfte), die SuS der AG. - **Sekundär:** andere Lehrkräfte, die einen 3D-Druck-Kurs aufsetzen wollen — Code ist MIT-lizenziert (TODO), Setup-Anleitung folgt mit dem ersten Deploy. ## Schnellstart (lokal, sobald lauffähig) @@ -46,7 +46,7 @@ python app.py # http://localhost:5057 ## Dokumentation -- `docs/kurskonzept.md` — vollständiges didaktisches Konzept (für Markus + Herb) +- `docs/kurskonzept.md` — vollständiges didaktisches Konzept (für Herr Rechmann + Herb) - `docs/decisions.md` — Entscheidungs-Log - `CHANGELOG.md` - `CLAUDE.md` — Projektstatus + Quickstart (für Claude/Herb) diff --git a/docs/architektur.md b/docs/architektur.md index f82cc6d..bdb4dda 100644 --- a/docs/architektur.md +++ b/docs/architektur.md @@ -93,7 +93,7 @@ flowchart TB D --> E{Aktive Slots betroffen?} E -- ja --> F[Vorschlag: Slot auf anderen Drucker verschieben] E -- nein --> G[Nur Drucker als 'Wartung nötig' markieren] - F --> H[Herb/Markus klickt 'Verschieben'] + F --> H[Herb/Herr Rechmann klickt 'Verschieben'] H --> I[Slot.drucker_id neu, Notiz im SuS-Cockpit] J[Cloud-API antwortet nicht] --> K{Letzter Poll-Erfolg > 5 Min her?} diff --git a/docs/decisions.md b/docs/decisions.md index e838f8d..8fda646 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -65,7 +65,7 @@ Format: chronologisch, neueste oben. Pro Entscheidung: Kontext, Optionen, Entsch **Wirkt sich aus auf:** [[sicherheit]], [[datenmodell#druckauftrag]] ### E-009: Site-Inhalt bei Kursstart = Skelett + L1-L3 fertig -**Entscheidung:** Lektionen L4+ und Software-Detailseiten kommen später inline durch Herb + Markus. +**Entscheidung:** Lektionen L4+ und Software-Detailseiten kommen später inline durch Herb + Herr Rechmann. **Begründung:** Herb hat 3D-Druck selbst noch nie unterrichtet — Inhalt entsteht im Doing. Admin-Inline-Edit muss daher von Anfang an stabil sein. ### E-010: Brand = "3D-Druck-AG" @@ -74,7 +74,7 @@ Format: chronologisch, neueste oben. Pro Entscheidung: Kontext, Optionen, Entsch ### E-011: Obsidian-tauglich, aber kein Plugin-Zwang **Kontext:** `D:\Claude-Projekte\` ist bereits Obsidian-Vault. Markdown + Wikilinks sollten überall funktionieren. **Entscheidung:** Doku-Dateien als reines Markdown mit normalen Links (keine `[[wikilinks]]`-Pflicht), damit sie auch in jedem anderen Editor lesbar bleiben. Wikilinks dürfen ergänzt werden, sind aber optional. -**Begründung:** Markus arbeitet vielleicht nicht mit Obsidian — Doku muss universell lesbar bleiben. +**Begründung:** Herr Rechmann arbeitet vielleicht nicht mit Obsidian — Doku muss universell lesbar bleiben. --- @@ -147,7 +147,7 @@ Nach Analyse aus vier Perspektiven (neuer SuS / erfahrener SuS / Lehrer / techni ### E-022: ZSL-Material in 8-10 Projekten umarbeiten, Rest später **Kontext:** ZSL Baden-Württemberg liefert 20+ CC-BY-4.0-Projekte. Zu viel auf einmal. -**Entscheidung:** Markus + Herb wählen 8-10 Projekte aus (gemischte Schwierigkeit), arbeiten Beschreibungen + Bilder in unser Design um (mit Urhebernachweis). Rest als Notiz „weitere verfügbar" — SuS-Projekte ergänzen die Bibliothek automatisch über die Zeit. +**Entscheidung:** Herr Rechmann + Herb wählen 8-10 Projekte aus (gemischte Schwierigkeit), arbeiten Beschreibungen + Bilder in unser Design um (mit Urhebernachweis). Rest als Notiz „weitere verfügbar" — SuS-Projekte ergänzen die Bibliothek automatisch über die Zeit. **Begründung:** Keep it small (Herb). Wachstum kommt aus SuS-Projekten + späterer Erweiterung durch Lehrer-Inline-Edit. **Wirkt sich aus auf:** [[selbstlern-loop]], [[offene-fragen]] diff --git a/docs/druckerapi.md b/docs/druckerapi.md index c6b7534..c0c9147 100644 --- a/docs/druckerapi.md +++ b/docs/druckerapi.md @@ -57,7 +57,7 @@ flowchart TB E -- nein --> H[Noch ignorierbar] ``` -- **Admin-Override**: `/admin/drucker//manueller_status` — Herb/Markus setzen manuell, überschreibt nächsten Poll. +- **Admin-Override**: `/admin/drucker//manueller_status` — Herb/Herr Rechmann setzen manuell, überschreibt nächsten Poll. - **Notbetrieb ohne API**: Wenn die Cloud dauerhaft nicht erreichbar ist, kann der Slot-Betrieb komplett manuell laufen — SuS sehen Status nur über Bambu Handy App, Reservierungen funktionieren weiter, weil sie nicht von API abhängen. ## Was wir **nicht** machen diff --git a/docs/etappen.md b/docs/etappen.md index 9018259..69e9cbb 100644 --- a/docs/etappen.md +++ b/docs/etappen.md @@ -85,7 +85,7 @@ tags: [konzept, plan, etappen] - [x] `/lektionen` und `/lektion/` Minimal-Renderer mit Markdown + Status-Buttons (vollständige Version mit Inline-Edit kommt in Etappe 3) **Seeds:** -- [x] 3 Onboarding-Lektionen mit Platzhalter-Text (Markus fuellt mit Inline-Edit nach) +- [x] 3 Onboarding-Lektionen mit Platzhalter-Text (Herr Rechmann fuellt mit Inline-Edit nach) ## Etappe 3 — Lektionen + Software-Sektion + Troubleshooting (1 Sitzung) @@ -94,7 +94,7 @@ tags: [konzept, plan, etappen] - [ ] `/cockpit/lektion//status` (selbst-zertifizierend, [[../decisions#E-019]]) - [ ] `/software` + `/software/` (CMS-artig, Inline-Edit) - [ ] `/troubleshooting` mit Entscheidungsbaum -- [ ] L1-L3 Inhalte ausgearbeitet (mit Markus zusammen, ggf. asynchron) +- [ ] L1-L3 Inhalte ausgearbeitet (mit Herr Rechmann zusammen, ggf. asynchron) ## Etappe 4 — Drucker-API-Spike (0.5 Sitzung) @@ -160,9 +160,9 @@ tags: [konzept, plan, etappen] - [ ] `/cockpit/druckauftraege` Eigene Liste - [ ] `/admin/druckauftraege` Queue mit Freigabe für lange Drucke -## Etappe 8 — ZSL-Material-Import (1 Sitzung mit Markus) +## Etappe 8 — ZSL-Material-Import (1 Sitzung mit Herr Rechmann) -- [ ] Markus + Herb wählen 8-10 ZSL-Projekte aus +- [ ] Herr Rechmann + Herb wählen 8-10 ZSL-Projekte aus - [ ] Pro Projekt: Beschreibung in unser Format umarbeiten (CC-BY-4.0-Nachweis als Footer) - [ ] Bilder + STLs in `projekt_datei` importieren (Initial-Seed via Admin-Upload) - [ ] Tag `zsl-vorlage` + spezifische Tags pro Projekt setzen @@ -191,7 +191,7 @@ tags: [konzept, plan, etappen] - **Etappen 1-3 zusammenhängend** bauen, sonst nichts funktioniert sinnvoll. - **Etappe 4 (Spike)** früh, weil davon abhängt, ob die Drucker-Anbindung überhaupt geht. - **Etappen 6 (Selbstlern-Loop) und 7 (Slots) sind unabhängig** — können in beliebiger Reihenfolge. -- **Etappe 8 (ZSL-Inhalte) kann parallel** zu 6 laufen (Markus pflegt Inhalte ein, während ich Code schreibe). +- **Etappe 8 (ZSL-Inhalte) kann parallel** zu 6 laufen (Herr Rechmann pflegt Inhalte ein, während ich Code schreibe). - **Etappe 9 (Deploy) erst, wenn 1-7 lokal stabil läuft.** ## Querverweise diff --git a/docs/glossar.md b/docs/glossar.md index 5d01838..9634a3e 100644 --- a/docs/glossar.md +++ b/docs/glossar.md @@ -8,7 +8,7 @@ tags: [glossar, begriffe] # Glossar — 3D-Druck-Begriffe > Begriffe, die in [[../kurskonzept]] und den Lektionen vorkommen. Für SuS und -> für Markus (falls noch nicht 3D-Druck-vertraut). +> für Herr Rechmann (falls noch nicht 3D-Druck-vertraut). ## Sprach-Konvention: „Modell" — welches Modell? diff --git a/docs/kurskonzept.md b/docs/kurskonzept.md index fa96b89..61710b9 100644 --- a/docs/kurskonzept.md +++ b/docs/kurskonzept.md @@ -15,13 +15,13 @@ tags: [konzept, hauptdokument] > [[offene-fragen]], [[glossar]]. **Stand:** 2026-05-24 (nach Reality-Check-Iteration mit Herb) -**Status:** Entwurf v2, zur Abstimmung mit Markus +**Status:** Entwurf v2, zur Abstimmung mit Herr Rechmann **Rahmen:** Offene Nachmittags-AG am Lessing-Gymnasium, **läuft jahrelang**, ca. 8-10 Einzel-SuS (optional 2er-Paarungen), eigener Druckraum mit 4 Bambu-Lab-Druckern (3 geschlossen + 1 A1 mini). **Unbenotet**, kein Lehrplan, freier Zugang. Neue Mitglieder kommen über die Jahre dazu, alte gehen. -> **Lesehinweis für Markus:** Dieses Dokument ist Entwurf v2. Es ersetzt v1 +> **Lesehinweis für Herr Rechmann:** Dieses Dokument ist Entwurf v2. Es ersetzt v1 > (2026-05-23) nach einer Reality-Check-Analyse aus vier Perspektiven (neuer > SuS / erfahrener SuS / Lehrer / Technik). Wichtige Korrektur gegenüber v1: > Wir haben fälschlich „12 Termine" angenommen — die AG ist tatsächlich offen @@ -108,7 +108,7 @@ Kein KI-Lernhelfer in dieser Site. SuS nutzen Schul-Copilot. │ │ Bei Lehrer-Rückfrage: gelbes Banner ganz oben (V6) │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ -│ ADMIN (Passwort, Herb + Markus) │ +│ ADMIN (Passwort, Herb + Herr Rechmann) │ │ • Drill-Down-Dashboard (V5): Wer ist heute hier / │ │ Wartet auf Review / Wer hängt fest / Drucker-Status │ │ • Projekt-Freigabe-Queue (mit Three.js-Vorschau, V3-Aktion) │ @@ -242,7 +242,7 @@ UI im Cockpit beim ersten Aufruf eines Besuchstages: Bei Kursstart ist die Projekt-Bibliothek leer. Damit Neuzugänge nicht ins Nichts schauen: - **8-10 ZSL-Projekte** aus dem CC-BY-4.0-Material des Landes Baden-Württemberg werden in unser Design **umgearbeitet** (mit Urhebernachweis). -- Markus + Herb wählen aus den 20+ verfügbaren Projekten gemischte Schwierigkeit. +- Herr Rechmann + Herb wählen aus den 20+ verfügbaren Projekten gemischte Schwierigkeit. - Beschreibungen werden auf unsere Bambu-Drucker + 8-10-SuS-AG angepasst (keine 1:1-PDF-Einbettung). - Bilder + STLs werden mit Quellen-Hinweis übernommen. - Diese Projekte erscheinen als reguläre Katalog-Karten mit Badge „Vorlagen-Projekt". @@ -280,8 +280,8 @@ Erwarteter Gesamtaufwand: 8-10 Coding-Sitzungen. > 📎 Aktuelle Liste: [[offene-fragen]]. Geklärte Punkte stehen in [[decisions]]. -**Vor Implementation noch zu klären** (mit Markus oder im Doing): -- Welche 8-10 ZSL-Projekte konkret? (mit Markus) +**Vor Implementation noch zu klären** (mit Herr Rechmann oder im Doing): +- Welche 8-10 ZSL-Projekte konkret? (mit Herr Rechmann) - Material-Tracking als späteres Modul nötig? (siehe [[offene-fragen]]) - Bambu-Cloud-Account-Inhaber (Schul-Account vs. Herb privat) - A1-mini-Firmware-Version (für API-Kompatibilität) @@ -302,7 +302,7 @@ Erwarteter Gesamtaufwand: 8-10 Coding-Sitzungen. ## 14. Was als Nächstes passieren muss -1. **Markus liest dieses Konzept** + die Detail-Module ([[selbstlern-loop]], [[lehrer-dashboard]], [[datenmodell]]). -2. Markus + Herb wählen die 8-10 ZSL-Projekte aus (siehe §10). +1. **Herr Rechmann liest dieses Konzept** + die Detail-Module ([[selbstlern-loop]], [[lehrer-dashboard]], [[datenmodell]]). +2. Herr Rechmann + Herb wählen die 8-10 ZSL-Projekte aus (siehe §10). 3. **DNS**: `3d.lehrstun.de` als A-Record auf 46.225.114.15 anlegen. 4. **Etappe 1 starten**: Blueprint-Struktur + Login + Profile + Onboarding-Status (siehe [[etappen]]). diff --git a/docs/lehrer-dashboard.md b/docs/lehrer-dashboard.md index 7304e19..6e08106 100644 --- a/docs/lehrer-dashboard.md +++ b/docs/lehrer-dashboard.md @@ -124,7 +124,7 @@ Wird im Cockpit als gelbes Banner gerendert (analog zur Rückfrage-Mechanik V6). ## Was das Dashboard NICHT zeigt - Keine Aggregate über die ganze AG-Historie (das wäre Statistik, gehört in `/admin/statistik` als optionaler späterer Bereich). -- Keine Daten anderer Lehrkräfte (es gibt nur Herb + Markus, gleiche Sicht). +- Keine Daten anderer Lehrkräfte (es gibt nur Herb + Herr Rechmann, gleiche Sicht). - Kein Eingriff in laufende Druckjobs — das macht weiterhin die Bambu Handy App. ## Inline-Edit-Berechtigungen für Lehrer diff --git a/docs/lektion-L1-drucker-kennenlernen.md b/docs/lektion-L1-drucker-kennenlernen.md index c15a22a..f365d4c 100644 --- a/docs/lektion-L1-drucker-kennenlernen.md +++ b/docs/lektion-L1-drucker-kennenlernen.md @@ -9,7 +9,7 @@ tags: [lektion, pflicht, sicherheit] # L1 — Drucker-Kennenlernen + Sicherheit -> **Status: Stub.** Inhalte werden mit Markus erarbeitet. Struktur steht. +> **Status: Stub.** Inhalte werden mit Herr Rechmann erarbeitet. Struktur steht. > Übergeordnetes Konzept: [[../kurskonzept#vier-stufen-progression]]. ## Lernziel @@ -56,7 +56,7 @@ Die SuS können: - `2026-05-24_l1_p2s_link.py` — erste Version, fügte nur den Wiki-Link an. - `2026-05-24_l1_inhalt_v2.py` — **aktuell**: ersetzt aufgabe_md komplett mit Zusammenfassung, setzt extern_link auf das Wiki um. -## TODO mit Markus +## TODO mit Herr Rechmann - [ ] Welches **Test-Modell** als "garantierter Erfolg"? - Optionen: 3DBenchy (Standard), kleiner Schlüsselanhänger-Rohling, Pinguin von Printables diff --git a/docs/lektion-L2-modell-drucken.md b/docs/lektion-L2-modell-drucken.md index fb8b244..4eb8e58 100644 --- a/docs/lektion-L2-modell-drucken.md +++ b/docs/lektion-L2-modell-drucken.md @@ -34,7 +34,7 @@ Die SuS können: - Quick-Reference für **Lizenz-Symbole** (CC-Familie kurz erklärt). - Vorlage für den ersten eigenen [[datenmodell#druckauftrag|Druckauftrag]]. -## TODO mit Markus +## TODO mit Herr Rechmann - [ ] **Empfohlene Modell-Liste** auf Printables zusammenstellen? Oder freie Wahl? - [ ] **Lizenz-Schulung**: wie tief erklären? Wir drucken nur, geben nichts weiter — Lizenz-Sorge ist gering. diff --git a/docs/lektion-L3-customizer.md b/docs/lektion-L3-customizer.md index 19f896f..fc10bdb 100644 --- a/docs/lektion-L3-customizer.md +++ b/docs/lektion-L3-customizer.md @@ -28,10 +28,10 @@ Die SuS können: 4. **Reflexion** (5 Min) — Was war einfach, was nicht? Wie wäre es, das **ganz von vorne** zu zeichnen? → leitet zu L4+ über. 5. **Drucken** (asynchron). -## Empfohlene Customizer für L3 (TODO mit Markus prüfen) +## Empfohlene Customizer für L3 (TODO mit Herr Rechmann prüfen) - [Parametric Customizable Name Keychain Creator](https://makerworld.com/en/models/1320280) — der Klassiker -- weitere folgen, sobald Markus + Herb durchgespielt haben +- weitere folgen, sobald Herr Rechmann + Herb durchgespielt haben ## Was die Plattform dazu liefert @@ -39,7 +39,7 @@ Die SuS können: - Liste der empfohlenen Customizer. - Verknüpfung zum nächsten Schritt: [[../kurskonzept#vier-stufen-progression|L4+ — eigenes Modell]]. -## TODO mit Markus +## TODO mit Herr Rechmann - [ ] **Customizer-Liste** kuratieren: 3-5 Stück, klein + schnell + cool. - [ ] Wie tief auf **Lizenz** beim Customizer-Output eingehen? diff --git a/docs/offene-fragen.md b/docs/offene-fragen.md index 554bd27..065f42b 100644 --- a/docs/offene-fragen.md +++ b/docs/offene-fragen.md @@ -36,7 +36,7 @@ tags: [offen, klärungsbedarf] ### Material-Tracking — eigenes Modul? -**Kontext (aus Reality-Check):** Aktuell führt Herb Material-Bestand (welche Filament-Rollen + Farben sind da, welche fast leer) im Kopf. Wenn Markus auch reviewt + ggf. nachbestellt, brauchen sie eine gemeinsame Sicht. +**Kontext (aus Reality-Check):** Aktuell führt Herb Material-Bestand (welche Filament-Rollen + Farben sind da, welche fast leer) im Kopf. Wenn Herr Rechmann auch reviewt + ggf. nachbestellt, brauchen sie eine gemeinsame Sicht. **Vorschlag:** Eigene `material_rolle`-Tabelle (Hersteller, Farbe, Material-Typ, Restmenge geschätzt, Standort, Notiz). Im `druckauftrag`-Modell ein optionales `material_rolle_id`-Feld → SuS oder Lehrer kann beim Druckabschluss „X Gramm verbraucht" eintragen. Admin-Übersicht zeigt Bestand. @@ -54,7 +54,7 @@ Aktuell sieht das Datenmodell beliebig viele `projekt_datei` mit `art='foto'` vo → **Spätere Iteration**, kommt mit Bedarf. -## Pädagogisch (mit Markus) +## Pädagogisch (mit Herr Rechmann) ### Welche 8-10 ZSL-Projekte zum Start? @@ -71,7 +71,7 @@ Aus den 20+ ZSL-Projekten auswählen (siehe Material-Übersicht im OneDrive). Vo - Level 2: Faschingsbrille, Stifteigel, Smartphonehalterung (Frosch) - Level 3: Steckklammer, Handventilator -→ **Markus + Herb müssen das gemeinsam durchsehen.** +→ **Herr Rechmann + Herb müssen das gemeinsam durchsehen.** ### Inhalte L1-L3 @@ -79,7 +79,7 @@ Aus den 20+ ZSL-Projekten auswählen (siehe Material-Übersicht im OneDrive). Vo - **L2:** Empfehlen wir eine konkrete Modell-Liste auf Printables, oder freie Wahl? - **L3:** Welcher MakerWorld-Customizer als Erstgehversuch? Vorschlag: [Parametric Name Keychain Creator](https://makerworld.com/en/models/1320280). -→ alle mit Markus besprechen, dann in [[lektion-L1-drucker-kennenlernen]] etc. einpflegen. +→ alle mit Herr Rechmann besprechen, dann in [[lektion-L1-drucker-kennenlernen]] etc. einpflegen. ### Bewertung / Dokumentation für Außenwirkung diff --git a/docs/routen.md b/docs/routen.md index bc55e14..9219c0a 100644 --- a/docs/routen.md +++ b/docs/routen.md @@ -62,7 +62,7 @@ tags: [konzept, routen, api] | POST | `/cockpit/paarung/anfragen/` | Paar-Anfrage | 2 | | POST | `/cockpit/paarung/aufloesen` | Paar trennen | 2 | -## Admin (`routes/admin.py` — Herb + Markus) +## Admin (`routes/admin.py` — Herb + Herr Rechmann) | Methode | Pfad | Zweck | Etappe | |---|---|---|---| diff --git a/docs/selbstlern-loop.md b/docs/selbstlern-loop.md index 46f907a..146886b 100644 --- a/docs/selbstlern-loop.md +++ b/docs/selbstlern-loop.md @@ -104,7 +104,7 @@ Drei Optionen: ### B) Rückfrage stellen - Lehrer tippt Notiz (z.B. „Cover-Foto fehlt, mach bitte eines vor dem Drucker"). - Klick „Rückfrage" → `freigabe_status = 'rueckfrage'`, Eintrag in `projekt_rueckfrage`. -- SuS sieht beim nächsten Login **gelbes Banner ganz oben im Cockpit** (V6): „Markus hat eine Rückfrage zu deinem Projekt X: …". +- SuS sieht beim nächsten Login **gelbes Banner ganz oben im Cockpit** (V6): „Herr Rechmann hat eine Rückfrage zu deinem Projekt X: …". - SuS bessert nach, klickt im Cockpit „Rückfrage erledigt + erneut zur Freigabe" → zurück auf `wartet_auf_freigabe`. ### C) Hart löschen @@ -143,7 +143,7 @@ Die Site **vermittelt nicht aktiv**. Aber sie macht sichtbar, wer was schon gema Bei Kursstart ist die Bibliothek leer. Damit neue SuS nicht ins Nichts schauen, kommen **8-10 ZSL-Projekte** als Seed-Inhalt (siehe [[../decisions#E-022]]): -- Markus + Herb wählen Projekte gemischter Schwierigkeit aus den 20+ ZSL-Vorlagen. +- Herr Rechmann + Herb wählen Projekte gemischter Schwierigkeit aus den 20+ ZSL-Vorlagen. - Beschreibungen werden in unser Design umgearbeitet (mit CC-BY-4.0-Nachweis pro Karte: „Vorlage: Tilo Bödigheimer, ZSL Baden-Württemberg, CC-BY-4.0"). - Bilder + STLs übernehmen wir 1:1 mit Quelle. - Diese Projekte erscheinen als reguläre Katalog-Karten, sind aber **markiert als „Vorlagen-Projekt"** (Tag `zsl-vorlage` oder Badge). diff --git a/docs/sicherheit.md b/docs/sicherheit.md index 7fea0c9..139c206 100644 --- a/docs/sicherheit.md +++ b/docs/sicherheit.md @@ -20,9 +20,9 @@ tags: [konzept, sicherheit, material] ## Pflicht-Regeln für SuS 1. **Hände weg vom Hotend** — besonders beim A1 mini (offen). -2. **Nur freigegebene Filamente** — PLA/PLA+ jederzeit, andere nur mit Herb/Markus. +2. **Nur freigegebene Filamente** — PLA/PLA+ jederzeit, andere nur mit Herb/Herr Rechmann. 3. **Bei sichtbarem Fehler (Spaghetti, Warping, Rauchgeruch)** → Drucker per - Bambu Handy App **pausieren** + Herb/Markus rufen, nicht selbst dran drehen. + Bambu Handy App **pausieren** + Herb/Herr Rechmann rufen, nicht selbst dran drehen. 4. **Druckraum verlassen** ist OK, solange ein Drucker läuft (Drucker haben Notabschaltung). Türen geschlossen halten wegen Lüftung. @@ -39,7 +39,7 @@ PLA-Sicherheit basiert auf: [Ultimaker-Whitepaper (DE)](https://yop3d.de/wp-cont ## Offizielle Schul-Richtlinie -[UKBW — Sicherer Umgang mit 3D-Druckern in der Schule (PDF)](https://www.ukbw.de/fileadmin/user_upload/Sicherer-Umgang-mit-3D-Druckern-in-der-Schule.pdf) — Pflichtlektüre für Herb + Markus, und Grundlage für die SuS-Lektion L1. +[UKBW — Sicherer Umgang mit 3D-Druckern in der Schule (PDF)](https://www.ukbw.de/fileadmin/user_upload/Sicherer-Umgang-mit-3D-Druckern-in-der-Schule.pdf) — Pflichtlektüre für Herb + Herr Rechmann, und Grundlage für die SuS-Lektion L1. ## Was die Plattform dazu beiträgt diff --git a/docs/slotsystem.md b/docs/slotsystem.md index b7cc7b1..31d5e3f 100644 --- a/docs/slotsystem.md +++ b/docs/slotsystem.md @@ -23,7 +23,7 @@ fahren. Funktioniert auch bei Drucker-Ausfall ([[druckerapi]] kann brechen). ## Override: Lehrer-Priorität -- Im [[routen#admin|Admin-Dashboard]] kann Herb/Markus pro Slot `prioritaet` +- Im [[routen#admin|Admin-Dashboard]] kann Herb/Herr Rechmann pro Slot `prioritaet` setzen (Default 0, höher = wichtiger). - Sortierung im UI: `ORDER BY prioritaet DESC, erstellt_am ASC`. - Bei Konflikt durch Priorisierung: Site zeigt eine Warnung, verschiebt diff --git a/docs/software-openscad.md b/docs/software-openscad.md index 223a06d..18e083b 100644 --- a/docs/software-openscad.md +++ b/docs/software-openscad.md @@ -50,7 +50,7 @@ Aus der Recherche: ## Lehrer-Tipps -- inf-schule liefert komplette Lektionssequenzen — fast turnkey, mit Markus durchsehen. +- inf-schule liefert komplette Lektionssequenzen — fast turnkey, mit Herr Rechmann durchsehen. - Erste Projekte: Schlüsselanhänger, Stiftehalter, Einkaufswagenchip — alle in inf-schule fertig. ## Querverweise diff --git a/docs/software-printables.md b/docs/software-printables.md index 0c72fbd..8ec6da8 100644 --- a/docs/software-printables.md +++ b/docs/software-printables.md @@ -48,7 +48,7 @@ Wir drucken nur für uns selbst → Lizenz-Sorge minimal. ## Education-Programm [printables.com/education](https://www.printables.com/education) — kuratierte -Sammlung speziell für Schulen. Mit Markus durchsehen für L2-Empfehlungen. +Sammlung speziell für Schulen. Mit Herr Rechmann durchsehen für L2-Empfehlungen. ## Querverweise diff --git a/migrations/2026-05-24_lektion_sprache_3d_modell.py b/migrations/2026-05-24_lektion_sprache_3d_modell.py index 9c61516..b0dc730 100644 --- a/migrations/2026-05-24_lektion_sprache_3d_modell.py +++ b/migrations/2026-05-24_lektion_sprache_3d_modell.py @@ -79,7 +79,7 @@ def update_l2(conn): "- Den Druck planen und drucken — auf einem unserer 4 Drucker (welcher gerade frei ist).\n\n" "**Aufgabe:** Such dir ein 3D-Modell aus, das unter 1 h Druckzeit liegt. " "Etwas, das du wirklich haben willst — der Druck dauert mindestens so lange wie ein Schulfilm.\n\n" - "*Detaillierter Inhalt wird mit Markus ausgearbeitet — bis dahin: " + "*Detaillierter Inhalt wird mit Herr Rechmann ausgearbeitet — bis dahin: " "fragt den Lehrer, der zeigt euch das Suchen + Slicen direkt am Drucker.*" ) conn.execute( @@ -108,7 +108,7 @@ def update_l3(conn): "veraendere Schriftart, Groesse, Loch-Position. Dann slicen + drucken.\n\n" "**Tipp:** Das 3D-Modell *Parametric Name Keychain Creator* auf MakerWorld " "ist ein guter Einstieg.\n\n" - "*Detaillierter Inhalt wird mit Markus ausgearbeitet.*" + "*Detaillierter Inhalt wird mit Herr Rechmann ausgearbeitet.*" ) conn.execute( "UPDATE lektion SET titel = ?, aufgabe_md = ? WHERE nummer = 3", diff --git a/seed.py b/seed.py index 6f45b82..a5d2dbe 100644 --- a/seed.py +++ b/seed.py @@ -7,7 +7,7 @@ Aktuell befuellt: - drucker: 4 Bambu-Lab-Drucker (3 geschlossen + 1 A1 mini) Spaeter folgen Seeds fuer: -- lektion: L1-L3 Onboarding (Etappe 3, mit Markus inhaltlich) +- lektion: L1-L3 Onboarding (Etappe 3, mit Herr Rechmann inhaltlich) - einstellung: Default-Werte fuer Tag-Vorschlaege etc. """ from database import get_db, init_db @@ -53,7 +53,7 @@ def seed_drucker(): def seed_lektionen(): """3 Onboarding-Lektionen mit Platzhalter-Inhalt. - Endgueltige Inhalte werden gemeinsam mit Markus erarbeitet (siehe + Endgueltige Inhalte werden gemeinsam mit Herr Rechmann erarbeitet (siehe docs/lektion-L1-drucker-kennenlernen.md etc.). Hier nur das Geruest, damit der Onboarding-Pfad ueberhaupt was zum Anklicken hat. """ @@ -72,8 +72,8 @@ def seed_lektionen(): "*Inhalt kommt mit Migration 2026-05-24_lektion_sprache_3d_modell.*", "Lizenz-Symbole sind nicht wichtig fuer uns — wir drucken nur fuer uns selbst, geben nichts weiter.", "https://www.printables.com/"), - (3, "Customizer — parametrisches 3D-Modell anpassen", - "*Inhalt kommt mit Migration 2026-05-24_lektion_sprache_3d_modell.*", + (3, "Mein eigenes 3D-Modell designen", + "*Inhalt kommt mit Migration 2026-05-24_lektion_sprache_3d_modell + DB-Update.*", "Tipp: Das 3D-Modell 'Parametric Name Keychain Creator' auf MakerWorld ist ein guter Einstieg.", "https://makerworld.com/en/models/1320280"), ] diff --git a/templates/admin_login.html b/templates/admin_login.html index 11074e0..73acb92 100644 --- a/templates/admin_login.html +++ b/templates/admin_login.html @@ -4,7 +4,7 @@

Admin-Login

- Nur fuer Herb & Markus. + Nur fuer Herb & Herr Rechmann.

Was machst du heute? 🎯

- Damit Herb und Markus auf einen Blick sehen, woran du arbeitest. + Damit Herb und Herr Rechmann auf einen Blick sehen, woran du arbeitest. Ein Klick reicht — Freitext nur, wenn du willst.

diff --git a/templates/login.html b/templates/login.html index 57dd64a..de08d99 100644 --- a/templates/login.html +++ b/templates/login.html @@ -20,7 +20,7 @@ {% else %}

Noch keine Profile angelegt

-

Der Lehrer muss erst Profile anlegen. Sag Herb oder Markus Bescheid.

+

Der Lehrer muss erst Profile anlegen. Sag Herb oder Herr Rechmann Bescheid.

Admin-Login

{% endif %}