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
This commit is contained in:
99
docs/offene-fragen.md
Normal file
99
docs/offene-fragen.md
Normal file
@@ -0,0 +1,99 @@
|
||||
---
|
||||
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?
|
||||
|
||||
**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.
|
||||
|
||||
**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.
|
||||
|
||||
## Pädagogisch (mit Markus)
|
||||
|
||||
### 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
|
||||
|
||||
→ **Markus + Herb müssen das gemeinsam durchsehen.**
|
||||
|
||||
### 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).
|
||||
|
||||
→ alle mit Markus besprechen, dann in [[lektion-L1-drucker-kennenlernen]] etc. einpflegen.
|
||||
|
||||
### 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]]
|
||||
Reference in New Issue
Block a user