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.
143 lines
5.1 KiB
Markdown
143 lines
5.1 KiB
Markdown
---
|
|
type: cockpit
|
|
projekt: 3d.lehrstun.de
|
|
status: etappe-1-lauffaehig
|
|
stand: 2026-05-24
|
|
tags: [3d-druck, ag, schule, cockpit]
|
|
---
|
|
|
|
# 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
|
|
|
|
```mermaid
|
|
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)
|
|
- [[lektion-L1-drucker-kennenlernen]]
|
|
- [[lektion-L2-modell-drucken]]
|
|
- [[lektion-L3-customizer]]
|
|
|
|
### 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](https://bambulab.com/en/support/academy) — Drucker-Kurse mit Zertifikat
|
|
- [PHBern IdeenSet 3D-Drucken](https://www.phbern.ch/dienstleistungen/unterrichtsmedien/ideenset-3d-drucken)
|
|
- [inf-schule.de 3D-Druck](https://inf-schule.de/informatiksysteme/3d_druck)
|
|
- [UKBW Sicherheit (PDF)](https://www.ukbw.de/fileadmin/user_upload/Sicherer-Umgang-mit-3D-Druckern-in-der-Schule.pdf)
|
|
- [bambulabs_api (GitHub)](https://github.com/BambuTools/bambulabs_api)
|
|
- [OpenBambuAPI (Protokoll-Doku)](https://github.com/Doridian/OpenBambuAPI)
|
|
|
|
## 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.
|