Initial commit: Konzept v2 + Etappe 1 (Blueprints + Login + Profile)
Schwester-Projekt zu arduino.lehrstun.de fuer die 3D-Druck-AG am
Lessing-Gymnasium. Offene jahrelange Nachmittags-AG (kein Trimester),
8-10 Einzel-SuS mit optionalen 2er-Paarungen, 4 Bambu-Lab-Drucker
(3 geschlossen + 1 A1 mini).
Konzept v2 (Reality-Check-Iteration 2026-05-24):
- Onboarding-Pfad statt Pflicht-Lektionen (L1-L3 selbst-zertifiziert)
- Selbstlern-Loop als Kern: SuS-Projekte wachsen die interne Bibliothek
- Drill-Down-Lehrer-Dashboard (Wer ist hier / Wartet Review / Haengt fest)
- Cockpit progressiv: zeigt nur was zum Status passt
- Bambu-Cloud-API fuer Drucker-Live-Status (fragil + Fallback manuell)
- Three.js-Vorschau fuer Cover-aus-3D-Ansicht (Etappe 6)
- Vollstaendige Doku als Obsidian-Vault (24 Markdown-Dateien)
- Entscheidungen E-001 bis E-022 in docs/decisions.md
Etappe 1 lauffaehig (~1800 Zeilen Code):
- Blueprint-Struktur (V8): routes/oeffentlich+profil+admin+api,
services/auth+bambu+datei
- Komplettes Schema in database.py (14 Tabellen, idempotent)
- Login mit bcrypt + persistentem Lockout in DB (V7, verbessert ggue
Arduino-Kurs der In-Memory-Dict nutzt)
- Admin-Login + Profile-CRUD + PIN-Reset + PIN-Karten-Druckbogen
- Inline-Edit-Endpunkt mit Whitelist + Audit-Log
- Seeds: AG lessing-3d-ag + 4 Drucker + Default-Einstellungen
- Smoke-Test bestanden (Login, Profil-Anlage, Lockout-Logging)
Nicht im Repo (.gitignore): .env, *.db, venv/, .obsidian/workspace.json
2026-05-24 18:56:59 +02:00
---
type: konzept-modul
projekt: 3d.lehrstun.de
stand: 2026-05-24
tags: [offen, klärungsbedarf]
---
# Offene Fragen
> Wird laufend gepflegt. Wenn eine Frage entschieden ist, wandert sie nach
> [[decisions]] und wird hier gestrichen.
>
> **Geklärt am 2026-05-24:** Onboarding-Zertifizierung (selbst, E-019),
> Three.js-Dependency (ja, E-018), ZSL-Projekt-Menge (8-10, E-022),
> Slot-Granularität-Default (freie Zeitspannen, E-020 V8), Brand-Farbe
> (Teal wie Arduino für einheitliches Wirken, kein eigener Decision-Eintrag —
> ist implizit aus E-001).
## Vor Etappe 1 zu klären
### Bambu-Cloud-Account
- **Wer ist Account-Inhaber?** Schul-Account oder Herb privat?
- Hat der Account alle 4 Drucker in derselben Region (EU)?
- Brauchen wir 2FA-Bypass / App-Passwort?
→ siehe [[druckerapi#auth ]]
### A1 mini Genau-Bezeichnung
- Welche Firmware-Version aktuell?
- Sind alle 4 Drucker im selben WLAN?
### Domain-Vorbereitung
- DNS-A-Record `3d.lehrstun.de → 46.225.114.15` anlegen (via [Hetzner Cloud DNS-CLI ](file:///D:/Claude-Projekte/hetzner-dns-cli/ ))
- Port 5057 in der CLAUDE.md-Konvention reservieren (ist bereits notiert)
## Vor Etappe 6 (Selbstlern-Loop) zu klären
### Material-Tracking — eigenes Modul?
2026-05-24 19:51:19 +02:00
**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.
Initial commit: Konzept v2 + Etappe 1 (Blueprints + Login + Profile)
Schwester-Projekt zu arduino.lehrstun.de fuer die 3D-Druck-AG am
Lessing-Gymnasium. Offene jahrelange Nachmittags-AG (kein Trimester),
8-10 Einzel-SuS mit optionalen 2er-Paarungen, 4 Bambu-Lab-Drucker
(3 geschlossen + 1 A1 mini).
Konzept v2 (Reality-Check-Iteration 2026-05-24):
- Onboarding-Pfad statt Pflicht-Lektionen (L1-L3 selbst-zertifiziert)
- Selbstlern-Loop als Kern: SuS-Projekte wachsen die interne Bibliothek
- Drill-Down-Lehrer-Dashboard (Wer ist hier / Wartet Review / Haengt fest)
- Cockpit progressiv: zeigt nur was zum Status passt
- Bambu-Cloud-API fuer Drucker-Live-Status (fragil + Fallback manuell)
- Three.js-Vorschau fuer Cover-aus-3D-Ansicht (Etappe 6)
- Vollstaendige Doku als Obsidian-Vault (24 Markdown-Dateien)
- Entscheidungen E-001 bis E-022 in docs/decisions.md
Etappe 1 lauffaehig (~1800 Zeilen Code):
- Blueprint-Struktur (V8): routes/oeffentlich+profil+admin+api,
services/auth+bambu+datei
- Komplettes Schema in database.py (14 Tabellen, idempotent)
- Login mit bcrypt + persistentem Lockout in DB (V7, verbessert ggue
Arduino-Kurs der In-Memory-Dict nutzt)
- Admin-Login + Profile-CRUD + PIN-Reset + PIN-Karten-Druckbogen
- Inline-Edit-Endpunkt mit Whitelist + Audit-Log
- Seeds: AG lessing-3d-ag + 4 Drucker + Default-Einstellungen
- Smoke-Test bestanden (Login, Profil-Anlage, Lockout-Logging)
Nicht im Repo (.gitignore): .env, *.db, venv/, .obsidian/workspace.json
2026-05-24 18:56:59 +02:00
**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.
→ **Optional, nicht Etappe-1-Thema. ** Wenn entschieden, kommt es als Etappe 10 dazu.
### Mentor-Badge / aktive Vernetzung
**Kontext:** Variante 1 (SuS stöbert selbst) macht die Vernetzung passiv. Wenn Mias Projekt 3x als Vorlage gewählt wurde, könnte ein „Mentor"-Badge automatisch aufploppen — sichtbar im Profil und im Lehrer-Dashboard.
→ **Spätere Iteration ** , nicht initial. Erfordert: SuS müssen einverstanden sein (kein automatisches Outing).
### Foto-Galerie pro Projekt (mehrere Fotos im Lifecycle)
Aktuell sieht das Datenmodell beliebig viele `projekt_datei` mit `art='foto'` vor — aber UI-seitig wird nur das **erste ** als Cover gezeigt. Sollen wir später eine richtige Galerie bauen (Anfang/Mitte/Ende-Bilder)?
→ **Spätere Iteration ** , kommt mit Bedarf.
2026-05-24 19:51:19 +02:00
## Pädagogisch (mit Herr Rechmann)
Initial commit: Konzept v2 + Etappe 1 (Blueprints + Login + Profile)
Schwester-Projekt zu arduino.lehrstun.de fuer die 3D-Druck-AG am
Lessing-Gymnasium. Offene jahrelange Nachmittags-AG (kein Trimester),
8-10 Einzel-SuS mit optionalen 2er-Paarungen, 4 Bambu-Lab-Drucker
(3 geschlossen + 1 A1 mini).
Konzept v2 (Reality-Check-Iteration 2026-05-24):
- Onboarding-Pfad statt Pflicht-Lektionen (L1-L3 selbst-zertifiziert)
- Selbstlern-Loop als Kern: SuS-Projekte wachsen die interne Bibliothek
- Drill-Down-Lehrer-Dashboard (Wer ist hier / Wartet Review / Haengt fest)
- Cockpit progressiv: zeigt nur was zum Status passt
- Bambu-Cloud-API fuer Drucker-Live-Status (fragil + Fallback manuell)
- Three.js-Vorschau fuer Cover-aus-3D-Ansicht (Etappe 6)
- Vollstaendige Doku als Obsidian-Vault (24 Markdown-Dateien)
- Entscheidungen E-001 bis E-022 in docs/decisions.md
Etappe 1 lauffaehig (~1800 Zeilen Code):
- Blueprint-Struktur (V8): routes/oeffentlich+profil+admin+api,
services/auth+bambu+datei
- Komplettes Schema in database.py (14 Tabellen, idempotent)
- Login mit bcrypt + persistentem Lockout in DB (V7, verbessert ggue
Arduino-Kurs der In-Memory-Dict nutzt)
- Admin-Login + Profile-CRUD + PIN-Reset + PIN-Karten-Druckbogen
- Inline-Edit-Endpunkt mit Whitelist + Audit-Log
- Seeds: AG lessing-3d-ag + 4 Drucker + Default-Einstellungen
- Smoke-Test bestanden (Login, Profil-Anlage, Lockout-Logging)
Nicht im Repo (.gitignore): .env, *.db, venv/, .obsidian/workspace.json
2026-05-24 18:56:59 +02:00
### Welche 8-10 ZSL-Projekte zum Start?
Aus den 20+ ZSL-Projekten auswählen (siehe Material-Übersicht im OneDrive). Vorschlag: 3 aus Level 1 (Einsteiger), 3-4 aus Level 2 (Mittel), 2-3 aus Level 3 (Fortgeschritten).
**Heuristik für die Auswahl:**
- Druckzeit unter 4 Stunden auf P1S
- Funktioniert mit PLA
- Cover-Foto bereits vorhanden
- Keine SuS-Erfahrung von extern nötig
**Spezifische Kandidaten** (Empfehlung von Claude, nicht final):
- Level 1: Schlüsselanhänger, Teigstempel, Spielfigur
- Level 2: Faschingsbrille, Stifteigel, Smartphonehalterung (Frosch)
- Level 3: Steckklammer, Handventilator
2026-05-24 19:51:19 +02:00
→ **Herr Rechmann + Herb müssen das gemeinsam durchsehen. **
Initial commit: Konzept v2 + Etappe 1 (Blueprints + Login + Profile)
Schwester-Projekt zu arduino.lehrstun.de fuer die 3D-Druck-AG am
Lessing-Gymnasium. Offene jahrelange Nachmittags-AG (kein Trimester),
8-10 Einzel-SuS mit optionalen 2er-Paarungen, 4 Bambu-Lab-Drucker
(3 geschlossen + 1 A1 mini).
Konzept v2 (Reality-Check-Iteration 2026-05-24):
- Onboarding-Pfad statt Pflicht-Lektionen (L1-L3 selbst-zertifiziert)
- Selbstlern-Loop als Kern: SuS-Projekte wachsen die interne Bibliothek
- Drill-Down-Lehrer-Dashboard (Wer ist hier / Wartet Review / Haengt fest)
- Cockpit progressiv: zeigt nur was zum Status passt
- Bambu-Cloud-API fuer Drucker-Live-Status (fragil + Fallback manuell)
- Three.js-Vorschau fuer Cover-aus-3D-Ansicht (Etappe 6)
- Vollstaendige Doku als Obsidian-Vault (24 Markdown-Dateien)
- Entscheidungen E-001 bis E-022 in docs/decisions.md
Etappe 1 lauffaehig (~1800 Zeilen Code):
- Blueprint-Struktur (V8): routes/oeffentlich+profil+admin+api,
services/auth+bambu+datei
- Komplettes Schema in database.py (14 Tabellen, idempotent)
- Login mit bcrypt + persistentem Lockout in DB (V7, verbessert ggue
Arduino-Kurs der In-Memory-Dict nutzt)
- Admin-Login + Profile-CRUD + PIN-Reset + PIN-Karten-Druckbogen
- Inline-Edit-Endpunkt mit Whitelist + Audit-Log
- Seeds: AG lessing-3d-ag + 4 Drucker + Default-Einstellungen
- Smoke-Test bestanden (Login, Profil-Anlage, Lockout-Logging)
Nicht im Repo (.gitignore): .env, *.db, venv/, .obsidian/workspace.json
2026-05-24 18:56:59 +02:00
### Inhalte L1-L3
- **L1:** Welches Modell als „garantierter Erfolg"? Vorschlag: kleines Benchy ODER Schlüsselanhänger-Rohling (passt zu L3-Customizer-Anschluss).
- **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 ).
2026-05-24 19:51:19 +02:00
→ alle mit Herr Rechmann besprechen, dann in [[lektion-L1-drucker-kennenlernen]] etc. einpflegen.
Initial commit: Konzept v2 + Etappe 1 (Blueprints + Login + Profile)
Schwester-Projekt zu arduino.lehrstun.de fuer die 3D-Druck-AG am
Lessing-Gymnasium. Offene jahrelange Nachmittags-AG (kein Trimester),
8-10 Einzel-SuS mit optionalen 2er-Paarungen, 4 Bambu-Lab-Drucker
(3 geschlossen + 1 A1 mini).
Konzept v2 (Reality-Check-Iteration 2026-05-24):
- Onboarding-Pfad statt Pflicht-Lektionen (L1-L3 selbst-zertifiziert)
- Selbstlern-Loop als Kern: SuS-Projekte wachsen die interne Bibliothek
- Drill-Down-Lehrer-Dashboard (Wer ist hier / Wartet Review / Haengt fest)
- Cockpit progressiv: zeigt nur was zum Status passt
- Bambu-Cloud-API fuer Drucker-Live-Status (fragil + Fallback manuell)
- Three.js-Vorschau fuer Cover-aus-3D-Ansicht (Etappe 6)
- Vollstaendige Doku als Obsidian-Vault (24 Markdown-Dateien)
- Entscheidungen E-001 bis E-022 in docs/decisions.md
Etappe 1 lauffaehig (~1800 Zeilen Code):
- Blueprint-Struktur (V8): routes/oeffentlich+profil+admin+api,
services/auth+bambu+datei
- Komplettes Schema in database.py (14 Tabellen, idempotent)
- Login mit bcrypt + persistentem Lockout in DB (V7, verbessert ggue
Arduino-Kurs der In-Memory-Dict nutzt)
- Admin-Login + Profile-CRUD + PIN-Reset + PIN-Karten-Druckbogen
- Inline-Edit-Endpunkt mit Whitelist + Audit-Log
- Seeds: AG lessing-3d-ag + 4 Drucker + Default-Einstellungen
- Smoke-Test bestanden (Login, Profil-Anlage, Lockout-Logging)
Nicht im Repo (.gitignore): .env, *.db, venv/, .obsidian/workspace.json
2026-05-24 18:56:59 +02:00
### Bewertung / Dokumentation für Außenwirkung
- AG ist unbenotet — aber sollen SuS-Projekte mit Bild in einer „Galerie" auf der Schul-Website oder im Jahresbericht erscheinen? Datenschutz: Eltern-OK pro Projekt nötig.
- Vorschlag: nicht initial; nach 1 Jahr AG mal mit Schulleitung quatschen, wenn etwas vorzeigbares da ist.
## Späterer Optimierungs-Bedarf
- **Speicher-Migration:** Wenn DB > 5 GB wird (~2-3 Jahre AG-Laufzeit), Migration der BLOB-Dateien auf Hetzner Object-Storage. Vorbereitet durch Abstraktion in `services/datei.py` .
- **Performance-Indexes:** Wenn Cockpit-Ladezeiten merklich werden, ggf. zusätzliche Indexes auf `check_in.besuch_datum` und `projekt.geaendert_am` setzen.
- **Bambu-API-Bruch-Plan:** Wenn die inoffizielle API länger als 1 Woche bricht, Variante (b) aus der API-Recherche aktivieren (Pi-Bridge in der Schule).
## Querverweise
- Entschiedene Punkte: [[decisions]]
- Konzept-Hauptdokument: [[../kurskonzept]]
- COCKPIT: [[../COCKPIT]]