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
2.3 KiB
2.3 KiB
3D-Druck-AG — Lernplattform
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.
Was die Plattform kann (geplant)
- Lektionen: Pflicht-Block L1-L3 (Drucker-Kennenlernen, fremdes Modell drucken, parametrischer Customizer), danach freier Block (TinkerCAD, OpenSCAD, eigenes Projekt).
- SuS-Cockpit: eigenes Profil mit Vorname + Tier-Icon + PIN. Projektstand, Druckaufträge, Slot-Reservierungen. Optional Paarung zu 2er-Gruppen.
- Drucker-Übersicht mit Live-Status via Bambu Cloud-API (oder manuell).
- Slot-Buchung für die 4 Drucker, Windhund-Prinzip mit Lehrer-Override.
- Stunden-Beginn-Abfrage ("Was machst du heute?") aggregiert im Lehrer-Dashboard.
- Admin-Inline-Edit für Lektionen, Software-Seiten, Profile.
Für wen ist das?
- Primär: Herb + Markus (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.
Schnellstart (lokal, sobald lauffähig)
git clone <repo-url> 3d.lehrstun.de
cd 3d.lehrstun.de
python -m venv venv
source venv/Scripts/activate # Git-Bash auf Windows
# auf Linux/Mac: source venv/bin/activate
pip install -r requirements.txt
cp .env.beispiel .env # Werte eintragen!
python -c "from database import init_db; init_db()"
python app.py # http://localhost:5057
Technik-Stack
- Python 3.11+
- Flask + SQLite (kein ORM, plain SQL — wie beim Schwesterprojekt arduino.lehrstun.de)
- Bambu Lab Cloud-API für Drucker-Status (
bambulabs_apioder Code auspybambu) - Vanilla CSS + JS (keine Build-Tools, kein npm)
Schwesterprojekte
- arduino.lehrstun.de — Arduino-Kurs Klasse 8. Design-Vorlage und Code-Quelle für Login, Inline-Edit, Lektionen-Modul.
- PummelHummel/Alph — Feedback-Widget, hier identisch eingebunden.
Dokumentation
docs/kurskonzept.md— vollständiges didaktisches Konzept (für Markus + Herb)docs/decisions.md— Entscheidungs-LogCHANGELOG.mdCLAUDE.md— Projektstatus + Quickstart (für Claude/Herb)
Lizenz
TODO (vermutlich MIT, sobald das Repo öffentlich wird).