81fb3224f0e7cd4798e6308f48e43d7a32da3591
Symptom: auf /lektion/1 waren <strong>, <h3>, <ul>, <p> als Text zu sehen
statt gerendert. Ursache: markdown_filter gab einen normalen str zurueck,
und Jinja2 escaped str-Werte per Default fuer XSS-Schutz.
Fix: Rueckgabe als markupsafe.Markup() — markiert das Ergebnis als
'bereits escaped, hands off'.
Betrifft auch andere Stellen, die {{ ...|markdown }} nutzen
(cockpit.html bei Projekt-Beschreibung).
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).
Description
Languages
Python
54.9%
HTML
41.5%
JavaScript
3.6%