Files
3d.lehrstun.de/README.md

57 lines
2.3 KiB
Markdown
Raw Normal View History

2026-05-24 18:56:59 +02:00
# 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)
```bash
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_api` oder Code aus `pybambu`)
- 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-Log
- `CHANGELOG.md`
- `CLAUDE.md` — Projektstatus + Quickstart (für Claude/Herb)
## Lizenz
TODO (vermutlich MIT, sobald das Repo öffentlich wird).