Herr Rechmann + L3-Titel + L2-Workflow

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).
This commit is contained in:
2026-05-24 19:51:19 +02:00
parent f534256a0a
commit 76addcb846
26 changed files with 62 additions and 62 deletions

View File

@@ -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. - **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). - **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. - **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). - **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. - **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). - Smoke-Test bestanden (Login als neuer SuS → Onboarding → Check-In → L1 fertig → Paarung mit zweitem SuS → Admin-Dashboard → Lehrer-Notiz → Banner im Cockpit).

View File

@@ -4,7 +4,7 @@ name: 3d.lehrstun.de
status: entwurf status: entwurf
domain: 3d.lehrstun.de domain: 3d.lehrstun.de
deployed: false 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] 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). - **4 Bambu-Lab-Drucker**: 3× geschlossen (P1S/X1C/P2S) + 1× A1 mini (offen).
- Eigener Druckraum, dauergelüftet. PLA + PLA+ Default, PETG/ABS unter Aufsicht. - Eigener Druckraum, dauergelüftet. PLA + PLA+ Default, PETG/ABS unter Aufsicht.
- Drucker dürfen über Nacht / Freistunden laufen. - 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). - Drucker-Status via **Bambu Cloud-API** (Polling, mit Fallback auf manuell).
- **Login:** Vorname + Tier-Icon + 4-stellige PIN. Sichtbarkeit: Lehrer voll, SuS nur Projekttitel. - **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] Skelett + Obsidian-Vault anlegen (2026-05-23)
- [x] Reality-Check + Konzept v2 (2026-05-24) - [x] Reality-Check + Konzept v2 (2026-05-24)
- [x] **Etappe 1: Blueprints + Schema + Login + Admin + Inline-Edit + Lockout** (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) - [ ] [[offene-fragen]] klären (Bambu-Account, A1-mini-Firmware)
- [ ] Lokales Git-Repo + Gitea-Push - [ ] Lokales Git-Repo + Gitea-Push
- [ ] **Etappe 2:** Cockpit progressiv + Check-In + Paarung + [[lehrer-dashboard|Lehrer-Dashboard]] - [ ] **Etappe 2:** Cockpit progressiv + Check-In + Paarung + [[lehrer-dashboard|Lehrer-Dashboard]]

View File

@@ -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. - **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. - **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) - **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`) - **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<br/>nach L1 fertig] SL[Slot-Reservierungen<br/>nach L1 fertig]
end end
subgraph Admin["Admin (Herb + Markus)"] subgraph Admin["Admin (Herb + Herr Rechmann)"]
AD[Drill-Down-Dashboard] AD[Drill-Down-Dashboard]
RQ[Review-Queue<br/>+ Three.js-Vorschau] RQ[Review-Queue<br/>+ Three.js-Vorschau]
DAQ[Druck-Queue] DAQ[Druck-Queue]
@@ -78,13 +78,13 @@ flowchart TB
### Wurzel ### Wurzel
- [[CLAUDE]] — Projektstatus + Quickstart (für Claude/Herb) - [[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 - [[CHANGELOG]] — was wurde wann angelegt
### Konzept ### 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 - [[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 - [[architektur]] — Komponentensicht mit Mermaid-Diagramm
- [[datenmodell]] — SQLite-Schema als ERD (mit allen neuen Tabellen) - [[datenmodell]] — SQLite-Schema als ERD (mit allen neuen Tabellen)
- [[routen]] — Vollständige Routen-Liste mit Blueprint-Aufteilung - [[routen]] — Vollständige Routen-Liste mit Blueprint-Aufteilung
@@ -93,7 +93,7 @@ flowchart TB
- [[sicherheit]] — Druckraum, Material, A1 mini - [[sicherheit]] — Druckraum, Material, A1 mini
- [[etappen]] — Implementierungs-Etappen 0-9 (mit Blueprint-Struktur von Anfang an) - [[etappen]] — Implementierungs-Etappen 0-9 (mit Blueprint-Struktur von Anfang an)
- [[offene-fragen]] — was wir noch besprechen müssen - [[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) ### Lektionen (Pflicht, Inhalte folgen)
- [[lektion-L1-drucker-kennenlernen]] - [[lektion-L1-drucker-kennenlernen]]
@@ -130,7 +130,7 @@ flowchart TB
- `#entscheidung` — getroffene Entscheidung - `#entscheidung` — getroffene Entscheidung
- `#druckerapi` — alles zur Bambu-Anbindung - `#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 Dieser Vault ist Markdown-only. Du kannst ihn mit Obsidian öffnen
(`File → Open vault → diesen Ordner wählen`) und kriegst dann: (`File → Open vault → diesen Ordner wählen`) und kriegst dann:

View File

@@ -2,7 +2,7 @@
Web-Plattform für eine 3D-Druck-AG (Klasse 8 MINT, ca. 8-10 SuS, 4 Bambu-Lab-Drucker). 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) ## 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? ## 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. - **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) ## Schnellstart (lokal, sobald lauffähig)
@@ -46,7 +46,7 @@ python app.py # http://localhost:5057
## Dokumentation ## 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 - `docs/decisions.md` — Entscheidungs-Log
- `CHANGELOG.md` - `CHANGELOG.md`
- `CLAUDE.md` — Projektstatus + Quickstart (für Claude/Herb) - `CLAUDE.md` — Projektstatus + Quickstart (für Claude/Herb)

View File

@@ -93,7 +93,7 @@ flowchart TB
D --> E{Aktive Slots betroffen?} D --> E{Aktive Slots betroffen?}
E -- ja --> F[Vorschlag: Slot auf anderen Drucker verschieben] E -- ja --> F[Vorschlag: Slot auf anderen Drucker verschieben]
E -- nein --> G[Nur Drucker als 'Wartung nötig' markieren] 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] H --> I[Slot.drucker_id neu, Notiz im SuS-Cockpit]
J[Cloud-API antwortet nicht] --> K{Letzter Poll-Erfolg > 5 Min her?} J[Cloud-API antwortet nicht] --> K{Letzter Poll-Erfolg > 5 Min her?}

View File

@@ -65,7 +65,7 @@ Format: chronologisch, neueste oben. Pro Entscheidung: Kontext, Optionen, Entsch
**Wirkt sich aus auf:** [[sicherheit]], [[datenmodell#druckauftrag]] **Wirkt sich aus auf:** [[sicherheit]], [[datenmodell#druckauftrag]]
### E-009: Site-Inhalt bei Kursstart = Skelett + L1-L3 fertig ### 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. **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" ### 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 ### E-011: Obsidian-tauglich, aber kein Plugin-Zwang
**Kontext:** `D:\Claude-Projekte\` ist bereits Obsidian-Vault. Markdown + Wikilinks sollten überall funktionieren. **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. **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 ### 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. **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. **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]] **Wirkt sich aus auf:** [[selbstlern-loop]], [[offene-fragen]]

View File

@@ -57,7 +57,7 @@ flowchart TB
E -- nein --> H[Noch ignorierbar] E -- nein --> H[Noch ignorierbar]
``` ```
- **Admin-Override**: `/admin/drucker/<id>/manueller_status` — Herb/Markus setzen manuell, überschreibt nächsten Poll. - **Admin-Override**: `/admin/drucker/<id>/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. - **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 ## Was wir **nicht** machen

View File

@@ -85,7 +85,7 @@ tags: [konzept, plan, etappen]
- [x] `/lektionen` und `/lektion/<nr>` Minimal-Renderer mit Markdown + Status-Buttons (vollständige Version mit Inline-Edit kommt in Etappe 3) - [x] `/lektionen` und `/lektion/<nr>` Minimal-Renderer mit Markdown + Status-Buttons (vollständige Version mit Inline-Edit kommt in Etappe 3)
**Seeds:** **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) ## Etappe 3 — Lektionen + Software-Sektion + Troubleshooting (1 Sitzung)
@@ -94,7 +94,7 @@ tags: [konzept, plan, etappen]
- [ ] `/cockpit/lektion/<nr>/status` (selbst-zertifizierend, [[../decisions#E-019]]) - [ ] `/cockpit/lektion/<nr>/status` (selbst-zertifizierend, [[../decisions#E-019]])
- [ ] `/software` + `/software/<slug>` (CMS-artig, Inline-Edit) - [ ] `/software` + `/software/<slug>` (CMS-artig, Inline-Edit)
- [ ] `/troubleshooting` mit Entscheidungsbaum - [ ] `/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) ## Etappe 4 — Drucker-API-Spike (0.5 Sitzung)
@@ -160,9 +160,9 @@ tags: [konzept, plan, etappen]
- [ ] `/cockpit/druckauftraege` Eigene Liste - [ ] `/cockpit/druckauftraege` Eigene Liste
- [ ] `/admin/druckauftraege` Queue mit Freigabe für lange Drucke - [ ] `/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) - [ ] 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) - [ ] Bilder + STLs in `projekt_datei` importieren (Initial-Seed via Admin-Upload)
- [ ] Tag `zsl-vorlage` + spezifische Tags pro Projekt setzen - [ ] 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. - **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. - **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. - **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.** - **Etappe 9 (Deploy) erst, wenn 1-7 lokal stabil läuft.**
## Querverweise ## Querverweise

View File

@@ -8,7 +8,7 @@ tags: [glossar, begriffe]
# Glossar — 3D-Druck-Begriffe # Glossar — 3D-Druck-Begriffe
> Begriffe, die in [[../kurskonzept]] und den Lektionen vorkommen. Für SuS und > 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? ## Sprach-Konvention: „Modell" — welches Modell?

View File

@@ -15,13 +15,13 @@ tags: [konzept, hauptdokument]
> [[offene-fragen]], [[glossar]]. > [[offene-fragen]], [[glossar]].
**Stand:** 2026-05-24 (nach Reality-Check-Iteration mit Herb) **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**, **Rahmen:** Offene Nachmittags-AG am Lessing-Gymnasium, **läuft jahrelang**,
ca. 8-10 Einzel-SuS (optional 2er-Paarungen), eigener Druckraum mit ca. 8-10 Einzel-SuS (optional 2er-Paarungen), eigener Druckraum mit
4 Bambu-Lab-Druckern (3 geschlossen + 1 A1 mini). **Unbenotet**, kein Lehrplan, 4 Bambu-Lab-Druckern (3 geschlossen + 1 A1 mini). **Unbenotet**, kein Lehrplan,
freier Zugang. Neue Mitglieder kommen über die Jahre dazu, alte gehen. 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 > (2026-05-23) nach einer Reality-Check-Analyse aus vier Perspektiven (neuer
> SuS / erfahrener SuS / Lehrer / Technik). Wichtige Korrektur gegenüber v1: > SuS / erfahrener SuS / Lehrer / Technik). Wichtige Korrektur gegenüber v1:
> Wir haben fälschlich „12 Termine" angenommen — die AG ist tatsächlich offen > 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) │ │ │ │ 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 / │ │ • Drill-Down-Dashboard (V5): Wer ist heute hier / │
│ Wartet auf Review / Wer hängt fest / Drucker-Status │ │ Wartet auf Review / Wer hängt fest / Drucker-Status │
│ • Projekt-Freigabe-Queue (mit Three.js-Vorschau, V3-Aktion) │ │ • 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: 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). - **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). - Beschreibungen werden auf unsere Bambu-Drucker + 8-10-SuS-AG angepasst (keine 1:1-PDF-Einbettung).
- Bilder + STLs werden mit Quellen-Hinweis übernommen. - Bilder + STLs werden mit Quellen-Hinweis übernommen.
- Diese Projekte erscheinen als reguläre Katalog-Karten mit Badge „Vorlagen-Projekt". - 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]]. > 📎 Aktuelle Liste: [[offene-fragen]]. Geklärte Punkte stehen in [[decisions]].
**Vor Implementation noch zu klären** (mit Markus oder im Doing): **Vor Implementation noch zu klären** (mit Herr Rechmann oder im Doing):
- Welche 8-10 ZSL-Projekte konkret? (mit Markus) - Welche 8-10 ZSL-Projekte konkret? (mit Herr Rechmann)
- Material-Tracking als späteres Modul nötig? (siehe [[offene-fragen]]) - Material-Tracking als späteres Modul nötig? (siehe [[offene-fragen]])
- Bambu-Cloud-Account-Inhaber (Schul-Account vs. Herb privat) - Bambu-Cloud-Account-Inhaber (Schul-Account vs. Herb privat)
- A1-mini-Firmware-Version (für API-Kompatibilität) - 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 ## 14. Was als Nächstes passieren muss
1. **Markus liest dieses Konzept** + die Detail-Module ([[selbstlern-loop]], [[lehrer-dashboard]], [[datenmodell]]). 1. **Herr Rechmann liest dieses Konzept** + die Detail-Module ([[selbstlern-loop]], [[lehrer-dashboard]], [[datenmodell]]).
2. Markus + Herb wählen die 8-10 ZSL-Projekte aus (siehe §10). 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. 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]]). 4. **Etappe 1 starten**: Blueprint-Struktur + Login + Profile + Onboarding-Status (siehe [[etappen]]).

View File

@@ -124,7 +124,7 @@ Wird im Cockpit als gelbes Banner gerendert (analog zur Rückfrage-Mechanik V6).
## Was das Dashboard NICHT zeigt ## 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 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. - Kein Eingriff in laufende Druckjobs — das macht weiterhin die Bambu Handy App.
## Inline-Edit-Berechtigungen für Lehrer ## Inline-Edit-Berechtigungen für Lehrer

View File

@@ -9,7 +9,7 @@ tags: [lektion, pflicht, sicherheit]
# L1 — Drucker-Kennenlernen + 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]]. > Übergeordnetes Konzept: [[../kurskonzept#vier-stufen-progression]].
## Lernziel ## 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_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. - `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"? - [ ] Welches **Test-Modell** als "garantierter Erfolg"?
- Optionen: 3DBenchy (Standard), kleiner Schlüsselanhänger-Rohling, Pinguin von Printables - Optionen: 3DBenchy (Standard), kleiner Schlüsselanhänger-Rohling, Pinguin von Printables

View File

@@ -34,7 +34,7 @@ Die SuS können:
- Quick-Reference für **Lizenz-Symbole** (CC-Familie kurz erklärt). - Quick-Reference für **Lizenz-Symbole** (CC-Familie kurz erklärt).
- Vorlage für den ersten eigenen [[datenmodell#druckauftrag|Druckauftrag]]. - 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? - [ ] **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. - [ ] **Lizenz-Schulung**: wie tief erklären? Wir drucken nur, geben nichts weiter — Lizenz-Sorge ist gering.

View File

@@ -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. 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). 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 - [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 ## Was die Plattform dazu liefert
@@ -39,7 +39,7 @@ Die SuS können:
- Liste der empfohlenen Customizer. - Liste der empfohlenen Customizer.
- Verknüpfung zum nächsten Schritt: [[../kurskonzept#vier-stufen-progression|L4+ — eigenes Modell]]. - 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. - [ ] **Customizer-Liste** kuratieren: 3-5 Stück, klein + schnell + cool.
- [ ] Wie tief auf **Lizenz** beim Customizer-Output eingehen? - [ ] Wie tief auf **Lizenz** beim Customizer-Output eingehen?

View File

@@ -36,7 +36,7 @@ tags: [offen, klärungsbedarf]
### Material-Tracking — eigenes Modul? ### 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. **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. **Spätere Iteration**, kommt mit Bedarf.
## Pädagogisch (mit Markus) ## Pädagogisch (mit Herr Rechmann)
### Welche 8-10 ZSL-Projekte zum Start? ### 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 2: Faschingsbrille, Stifteigel, Smartphonehalterung (Frosch)
- Level 3: Steckklammer, Handventilator - Level 3: Steckklammer, Handventilator
**Markus + Herb müssen das gemeinsam durchsehen.** **Herr Rechmann + Herb müssen das gemeinsam durchsehen.**
### Inhalte L1-L3 ### 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? - **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). - **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 ### Bewertung / Dokumentation für Außenwirkung

View File

@@ -62,7 +62,7 @@ tags: [konzept, routen, api]
| POST | `/cockpit/paarung/anfragen/<andere_id>` | Paar-Anfrage | 2 | | POST | `/cockpit/paarung/anfragen/<andere_id>` | Paar-Anfrage | 2 |
| POST | `/cockpit/paarung/aufloesen` | Paar trennen | 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 | | Methode | Pfad | Zweck | Etappe |
|---|---|---|---| |---|---|---|---|

View File

@@ -104,7 +104,7 @@ Drei Optionen:
### B) Rückfrage stellen ### B) Rückfrage stellen
- Lehrer tippt Notiz (z.B. „Cover-Foto fehlt, mach bitte eines vor dem Drucker"). - Lehrer tippt Notiz (z.B. „Cover-Foto fehlt, mach bitte eines vor dem Drucker").
- Klick „Rückfrage" → `freigabe_status = 'rueckfrage'`, Eintrag in `projekt_rueckfrage`. - 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`. - SuS bessert nach, klickt im Cockpit „Rückfrage erledigt + erneut zur Freigabe" → zurück auf `wartet_auf_freigabe`.
### C) Hart löschen ### 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]]): 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"). - 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. - 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). - Diese Projekte erscheinen als reguläre Katalog-Karten, sind aber **markiert als „Vorlagen-Projekt"** (Tag `zsl-vorlage` oder Badge).

View File

@@ -20,9 +20,9 @@ tags: [konzept, sicherheit, material]
## Pflicht-Regeln für SuS ## Pflicht-Regeln für SuS
1. **Hände weg vom Hotend** — besonders beim A1 mini (offen). 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 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 4. **Druckraum verlassen** ist OK, solange ein Drucker läuft (Drucker haben
Notabschaltung). Türen geschlossen halten wegen Lüftung. 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 ## 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 ## Was die Plattform dazu beiträgt

View File

@@ -23,7 +23,7 @@ fahren. Funktioniert auch bei Drucker-Ausfall ([[druckerapi]] kann brechen).
## Override: Lehrer-Priorität ## 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). setzen (Default 0, höher = wichtiger).
- Sortierung im UI: `ORDER BY prioritaet DESC, erstellt_am ASC`. - Sortierung im UI: `ORDER BY prioritaet DESC, erstellt_am ASC`.
- Bei Konflikt durch Priorisierung: Site zeigt eine Warnung, verschiebt - Bei Konflikt durch Priorisierung: Site zeigt eine Warnung, verschiebt

View File

@@ -50,7 +50,7 @@ Aus der Recherche:
## Lehrer-Tipps ## 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. - Erste Projekte: Schlüsselanhänger, Stiftehalter, Einkaufswagenchip — alle in inf-schule fertig.
## Querverweise ## Querverweise

View File

@@ -48,7 +48,7 @@ Wir drucken nur für uns selbst → Lizenz-Sorge minimal.
## Education-Programm ## Education-Programm
[printables.com/education](https://www.printables.com/education) — kuratierte [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 ## Querverweise

View File

@@ -79,7 +79,7 @@ def update_l2(conn):
"- Den Druck planen und drucken — auf einem unserer 4 Drucker (welcher gerade frei ist).\n\n" "- 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. " "**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" "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.*" "fragt den Lehrer, der zeigt euch das Suchen + Slicen direkt am Drucker.*"
) )
conn.execute( conn.execute(
@@ -108,7 +108,7 @@ def update_l3(conn):
"veraendere Schriftart, Groesse, Loch-Position. Dann slicen + drucken.\n\n" "veraendere Schriftart, Groesse, Loch-Position. Dann slicen + drucken.\n\n"
"**Tipp:** Das 3D-Modell *Parametric Name Keychain Creator* auf MakerWorld " "**Tipp:** Das 3D-Modell *Parametric Name Keychain Creator* auf MakerWorld "
"ist ein guter Einstieg.\n\n" "ist ein guter Einstieg.\n\n"
"*Detaillierter Inhalt wird mit Markus ausgearbeitet.*" "*Detaillierter Inhalt wird mit Herr Rechmann ausgearbeitet.*"
) )
conn.execute( conn.execute(
"UPDATE lektion SET titel = ?, aufgabe_md = ? WHERE nummer = 3", "UPDATE lektion SET titel = ?, aufgabe_md = ? WHERE nummer = 3",

View File

@@ -7,7 +7,7 @@ Aktuell befuellt:
- drucker: 4 Bambu-Lab-Drucker (3 geschlossen + 1 A1 mini) - drucker: 4 Bambu-Lab-Drucker (3 geschlossen + 1 A1 mini)
Spaeter folgen Seeds fuer: 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. - einstellung: Default-Werte fuer Tag-Vorschlaege etc.
""" """
from database import get_db, init_db from database import get_db, init_db
@@ -53,7 +53,7 @@ def seed_drucker():
def seed_lektionen(): def seed_lektionen():
"""3 Onboarding-Lektionen mit Platzhalter-Inhalt. """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, docs/lektion-L1-drucker-kennenlernen.md etc.). Hier nur das Geruest,
damit der Onboarding-Pfad ueberhaupt was zum Anklicken hat. 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.*", "*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.", "Lizenz-Symbole sind nicht wichtig fuer uns — wir drucken nur fuer uns selbst, geben nichts weiter.",
"https://www.printables.com/"), "https://www.printables.com/"),
(3, "Customizer — parametrisches 3D-Modell anpassen", (3, "Mein eigenes 3D-Modell designen",
"*Inhalt kommt mit Migration 2026-05-24_lektion_sprache_3d_modell.*", "*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.", "Tipp: Das 3D-Modell 'Parametric Name Keychain Creator' auf MakerWorld ist ein guter Einstieg.",
"https://makerworld.com/en/models/1320280"), "https://makerworld.com/en/models/1320280"),
] ]

View File

@@ -4,7 +4,7 @@
<div class="card" style="max-width: 400px; margin: 3rem auto; text-align: center;"> <div class="card" style="max-width: 400px; margin: 3rem auto; text-align: center;">
<h1>Admin-Login</h1> <h1>Admin-Login</h1>
<p style="color: var(--text-light); margin-bottom: 1.5rem;"> <p style="color: var(--text-light); margin-bottom: 1.5rem;">
Nur fuer Herb &amp; Markus. Nur fuer Herb &amp; Herr Rechmann.
</p> </p>
<form method="post"> <form method="post">
<input <input

View File

@@ -58,7 +58,7 @@
<div class="card" style="border-top: 4px solid var(--primary);"> <div class="card" style="border-top: 4px solid var(--primary);">
<h2>Was machst du heute? 🎯</h2> <h2>Was machst du heute? 🎯</h2>
<p style="color: var(--text-light); font-size: 0.9rem;"> <p style="color: var(--text-light); font-size: 0.9rem;">
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. Ein Klick reicht — Freitext nur, wenn du willst.
</p> </p>
<form method="post" action="{{ url_for('profil.check_in') }}" style="margin-top: 1rem;"> <form method="post" action="{{ url_for('profil.check_in') }}" style="margin-top: 1rem;">

View File

@@ -20,7 +20,7 @@
{% else %} {% else %}
<div class="card" style="max-width: 600px; margin: 2rem auto; text-align: center;"> <div class="card" style="max-width: 600px; margin: 2rem auto; text-align: center;">
<h2>Noch keine Profile angelegt</h2> <h2>Noch keine Profile angelegt</h2>
<p>Der Lehrer muss erst Profile anlegen. Sag Herb oder Markus Bescheid.</p> <p>Der Lehrer muss erst Profile anlegen. Sag Herb oder Herr Rechmann Bescheid.</p>
<p style="margin-top: 1rem;"><a href="{{ url_for('admin.admin_login') }}" class="btn btn-secondary">Admin-Login</a></p> <p style="margin-top: 1rem;"><a href="{{ url_for('admin.admin_login') }}" class="btn btn-secondary">Admin-Login</a></p>
</div> </div>
{% endif %} {% endif %}