Cockpit (V1, progressives Layout): - /cockpit zeigt nur Karten, die zum Status passen. Onboarding-Karte nur fuer Neue; Paarungs-Karte immer wenn aktiv; Drucker-Buchung erst nach L1 fertig. - Banner-System: ungelesene Lehrer-Notizen, offene Rueckfragen, eingegangene Paarungs-Anfragen. Check-In (V3 + E-021): - Modal beim ersten Cockpit-Aufruf eines Besuchstages. - "Ich arbeite weiter" als Default-Ein-Klick-Option. - Freitext optional. - POST /cockpit/check-in mit UNIQUE-Constraint pro Tag. Onboarding-Status (E-019): - /cockpit/lektion/<nr>/status (selbst-zertifiziert). - profil_lektion_status-Tabelle, ON CONFLICT-Upsert. Paarung (E-002): - profil_anfrage-Tabelle on-demand. - Anfrage stellen / annehmen / ablehnen / aufloesen. - Konflikt-Check (keine Doppel-Paarungen). - Banner im Cockpit des Adressaten. Lehrer-Dashboard (V5, docs/lehrer-dashboard.md): - /admin/dashboard mit 4 Sektionen (Wer ist heute hier / Wartet auf Review / Drucker-Status / Wer haengt fest) + Schnell-Zahlen + offene Rueckfragen. - "Notiz hinterlassen"-Quick-Action via lehrer_notiz-Tabelle. - Live-Drucker-Status kommt mit Etappe 5 (aktuell nur DB-Stand). Daten-Helper getrennt: - services/cockpit_status.py: Bundle fuer progressives Cockpit - services/dashboard_status.py: 4-Sektionen-Queries Vorgezogen aus Etappe 3: - /lektionen + /lektion/<nr> Minimal-Renderer mit Markdown - 3 Onboarding-Lektionen als Seeds (Platzhalter-Text fuer Markus) Smoke-Test bestanden: Login als neuer SuS -> Onboarding -> Check-In -> L1 fertig -> Paarung mit zweitem SuS -> Admin-Dashboard -> Lehrer-Notiz -> Banner im Cockpit.
5.1 KiB
5.1 KiB
type, projekt, status, stand, tags
| type | projekt | status | stand | tags | ||||
|---|---|---|---|---|---|---|---|---|
| cockpit | 3d.lehrstun.de | etappe-1-lauffaehig | 2026-05-24 |
|
3D-Druck-AG — Cockpit
Vault-Startseite. Wenn du diesen Ordner in Obsidian öffnest, landest du hier. Von hier verlinken Wikilinks (
[[Name]]) auf alle Detail-Dateien des Konzepts.
Status auf einen Blick
- 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.
- 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)
Architektur in einem Bild
flowchart TB
subgraph Public["Öffentlich (kein Login)"]
L[Onboarding-Pfad<br/>+ freie Module]
S[Software-Sektion]
P[Projekt-Katalog<br/>SuS-Projekte + ZSL-Seed]
T[Troubleshooting]
D[Drucker-Live-Status]
end
subgraph Profil["Profil (Vorname + Tier + PIN)"]
C[Cockpit progressiv]
CI[Check-In 'Was machst du heute?']
EP[Eigene Projekte<br/>im Lebenszyklus]
AB[Abschluss-Checkliste]
SL[Slot-Reservierungen<br/>nach L1 fertig]
end
subgraph Admin["Admin (Herb + Markus)"]
AD[Drill-Down-Dashboard]
RQ[Review-Queue<br/>+ Three.js-Vorschau]
DAQ[Druck-Queue]
ADR[Drucker-Verwaltung]
ALE[Inline-Edit für Lektionen]
end
subgraph Extern["Externe Systeme"]
BC[Bambu Cloud-API]
BS[Bambu Studio<br/>auf Schul-PCs]
BH[Bambu Handy App]
PR[Printables /<br/>MakerWorld]
TC[TinkerCAD]
OS[OpenSCAD]
ZSL[ZSL Baden-Württemberg<br/>CC-BY-4.0 Material]
end
Public --> Profil
Profil --> Admin
AB --> RQ
RQ --> P
AD -.Polling 30s.-> BC
BC -.Status.-> D
L --> PR
L --> TC
L --> OS
BS --> BC
BH --> BC
ZSL -.Initial-Seed.-> P
classDef extern fill:#FEF9E7,stroke:#F5C842
class BC,BS,BH,PR,TC,OS,ZSL extern
Inhalt des Vaults
Wurzel
- CLAUDE — Projektstatus + Quickstart (für Claude/Herb)
- README — Vorstellung für Markus + Aussenstehende
- CHANGELOG — was wurde wann angelegt
Konzept
- kurskonzept — Hauptdokument v2, vollständiges Konzept zum Lesen (Markus, am Stück lesbar)
- selbstlern-loop — Kern-Mechanismus der AG: Wie Projekte wachsen + vernetzt werden
- lehrer-dashboard — Drill-Down-Konzept für Herb + Markus
- architektur — Komponentensicht mit Mermaid-Diagramm
- datenmodell — SQLite-Schema als ERD (mit allen neuen Tabellen)
- routen — Vollständige Routen-Liste mit Blueprint-Aufteilung
- druckerapi — Bambu Cloud-API-Anbindung, Fallback, Risiken
- slotsystem — Reservierung, Windhund, Priorisierung, Ausfall-Handling
- 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
Lektionen (Pflicht, Inhalte folgen)
Software-Tools (Stubs)
- software-bambu-studio
- software-bambu-handy
- software-printables
- software-makerworld
- software-tinkercad
- software-openscad
Entscheidungen
- decisions — Entscheidungs-Log, neueste oben
Wichtige externe Quellen
- Bambu Lab Academy — Drucker-Kurse mit Zertifikat
- PHBern IdeenSet 3D-Drucken
- inf-schule.de 3D-Druck
- UKBW Sicherheit (PDF)
- bambulabs_api (GitHub)
- OpenBambuAPI (Protokoll-Doku)
Tags-Übersicht
#konzept— Architektur-/Konzept-Dateien#kern— die zentralen Module (selbstlern-loop, lehrer-dashboard)#lektion— Lektions-Inhalte#software— Software-Tool-Beschreibungen#offen— noch zu klären#entscheidung— getroffene Entscheidung#druckerapi— alles zur Bambu-Anbindung
Hinweis für Markus
Dieser Vault ist Markdown-only. Du kannst ihn mit Obsidian öffnen
(File → Open vault → diesen Ordner wählen) und kriegst dann:
- Wikilinks (
[[…]]) zum Springen zwischen Dateien - Graph-View zur visuellen Übersicht der Querverbindungen
- Backlinks rechts: wer verlinkt auf die aktuelle Datei
Du kannst die Dateien aber auch mit jedem anderen Editor (VSCode, Notepad++, sogar Notepad) lesen — sie sind reines Markdown.