--- type: konzept-modul projekt: 3d.lehrstun.de stand: 2026-05-24 tags: [konzept, selbstlern-loop, projekte, kern] --- # Selbstlern-Loop > **Der Kern der 3D-Druck-AG-Site.** Was uns vom Arduino-Kurs unterscheidet: > Die Site **wächst durch die SuS selbst**. Jedes abgeschlossene Projekt landet > nach Lehrer-Freigabe in der internen Bibliothek. Neue SuS sehen: "Bei uns > hat das schonmal jemand gemacht — und so ging's aus." Das schlägt jeden > externen 3D-Modell-Katalog. Architektur-Einbettung: [[architektur]]. Datenmodell: [[datenmodell#projekt]], [[datenmodell#projekt_datei]], [[datenmodell#projekt_tag]]. Lehrer-Sicht: [[lehrer-dashboard]]. ## Der Lebenszyklus eines Projekts ```mermaid stateDiagram-v2 [*] --> Stoebern Stoebern --> Ausgewaehlt: SuS wählt aus Katalog (oder eigene Idee) Ausgewaehlt --> InArbeit: Projekt angelegt im Cockpit InArbeit --> InArbeit: Dateien hochladen, slicen, drucken, iterieren InArbeit --> AbschlussCheckliste: Knopf "Projekt beenden" AbschlussCheckliste --> WartetAufFreigabe: Pflicht-Checkliste erfüllt AbschlussCheckliste --> InArbeit: Zurück (Checkliste unvollständig) WartetAufFreigabe --> Freigegeben: Lehrer-OK WartetAufFreigabe --> Rueckfrage: Lehrer hat Hinweis Rueckfrage --> InArbeit: SuS bessert nach WartetAufFreigabe --> [*]: Lehrer hart-löscht (Penismodell etc.) Freigegeben --> [*]: Projekt im Katalog sichtbar Freigegeben --> Stoebern: Andere SuS wählt es als Vorlage ``` ## Station 1: Stöbern **UI:** `/projekte` — Projekt-Katalog. **Inhalt:** - Karten mit Cover-Foto, Titel, Macher (Vorname + Tier-Icon), Selbsteinschätzung (🟢🟡🔴), Tags. - Filter: nach Tag, Schwierigkeitslevel (Anfänger/Mittel/Fortgeschritten), Erfolgsstatus, Macher. - Auch ZSL-Projekte (umgearbeitet, mit CC-BY-4.0-Nachweis — siehe [[../decisions#E-022]]) erscheinen als Karten. - Suchfeld für Titel-Volltext. **Ankerseite für die Vernetzung (Variante 1):** SuS sucht selbst, kein Auto-Match-Knopf. Wenn Mia das gleiche Projekt schon gemacht hat, sieht der neue SuS die Karte und kann sie in der AG-Stunde ansprechen. ## Station 2: Auswählen **UI:** `/cockpit/projekt/neu`. Drei Optionen: 1. **Aus Katalog**: SuS klickt auf eine Karte → „Sowas mache ich auch" → neues Projekt-Datensatz mit `vorlage_projekt_id` befüllt. Titel + Tags vorausgefüllt, SuS kann anpassen. 2. **Komplett eigene Idee**: leerer Titel + Beschreibung. 3. **Onboarding-Pflicht-Projekt** (z.B. L2 „erstes 3D-Modell drucken"): die Lektion legt automatisch ein Projekt an. ## Station 3: Arbeiten **UI:** Cockpit-Karte „Eigene Projekte" mit Liste der eigenen `status_lebenszyklus='in_arbeit'`-Projekte. **Was passiert hier:** - Datei-Uploads (laufend oder am Ende, frei): STL, 3MF, Fotos, Sonstiges. Limit 30 MB pro Datei. - Beschreibung pflegen (Markdown). - Druckaufträge anlegen (`/cockpit/druckauftrag/neu`), Slots reservieren. - Mit anderen SuS in der AG sprechen — die Site lenkt nicht aktiv. ## Station 4: Abschluss-Checkliste **UI:** `/cockpit/projekt//abschluss`. **Pflicht-Felder (V4, radikal kurz):** - **Selbsteinschätzung** (Pflicht, eine Wahl): - 🟢 Bin zufrieden, würde es so wieder machen - 🟡 Funktioniert, aber ich würde Sachen anders machen - 🔴 Hat nicht geklappt, aber ich habe was gelernt - **Cover-Foto ODER STL/3MF** (mindestens eines): ein Bild, das im Katalog erscheint. Wenn nur STL vorhanden: Lehrer kann beim Review per Three.js-Vorschau einen Screenshot machen. - **Mindestens 1 Tag** (frei wählbar oder aus kuratierter Liste). **Optional, aber empfohlen:** - Beschreibungs-Freitext (Markdown). - Freitext „Was würdest du anderen mit auf den Weg geben?" — wird im Detail bei der Karte angezeigt, ist die wichtigste Lehrgeld-Quelle für nächste SuS. - Weitere Dateien. **Knopf „Abschicken":** ist erst aktivierbar, wenn alle Pflicht-Felder erfüllt sind. **Nach Abschicken:** `freigabe_status = 'wartet_auf_freigabe'`, im Cockpit erscheint die Karte mit Hinweis „Wartet auf Lehrer-Freigabe (typisch 1-3 Tage)". ## Station 5: Lehrer-Review **UI:** `/admin/projekt-freigabe` (Liste) → `/admin/projekt-freigabe/` (Detail). **Drei Aktionen (siehe [[../decisions#E-017]]):** ### A) Freigeben - Lehrer prüft Cover-Foto, Beschreibung, Tags, Dateien. - Darf Inline-editieren: Titel, Beschreibung, Tags (siehe [[routen#inline-edit-whitelist]]). Audit-Log dokumentiert jede Änderung. - Optional: Three.js-Screenshot als Cover speichern, wenn SuS keines hochgeladen hat. - Klick „Freigeben" → `freigabe_status = 'freigegeben'`, sofort im Katalog sichtbar. ### B) Rückfrage stellen - Lehrer tippt Notiz (z.B. „Cover-Foto fehlt, mach bitte eines vor dem Drucker"). - Klick „Rückfrage" → `freigabe_status = 'rueckfrage'`, Eintrag in `projekt_rueckfrage`. - SuS sieht beim nächsten Login **gelbes Banner ganz oben im Cockpit** (V6): „Markus hat eine Rückfrage zu deinem Projekt X: …". - SuS bessert nach, klickt im Cockpit „Rückfrage erledigt + erneut zur Freigabe" → zurück auf `wartet_auf_freigabe`. ### C) Hart löschen - Für Penismodelle, Copyright-Probleme, sonstige problematische Inhalte. - Bestätigungsdialog: „Wirklich löschen? Dateien sind danach weg." - Audit-Log behält: Datum, Lehrer-Profil-ID, SuS-Vorname + Tier, optional Grund. Dateien selbst werden physisch entfernt. ## Station 6: Im Katalog **UI:** `/projekte` zeigt das Projekt für alle eingeloggten SuS. **Detail-Seite `/projekte/`:** - Cover-Foto groß - Titel + Macher (Vorname + Tier-Icon) - Selbsteinschätzung als Badge (🟢🟡🔴) - Tags als Chips (klickbar → Filter) - Beschreibung - „Was würdest du anderen mitgeben?" — als hervorgehobener Block - Dateien-Liste mit Download-Buttons (Auth-Check: nur eingeloggte SuS) - Three.js-Vorschau, wenn STL vorhanden - **Knopf „Sowas mache ich auch"** → legt neues Projekt mit `vorlage_projekt_id` an **Wichtig:** SuS kann das eigene Projekt auch nachträglich verbergen (`sichtbar_in_ag = 0`) — z.B. wenn ihm das später peinlich ist. Lehrer sieht es weiterhin im Admin. ## Vernetzung in der Praxis (Variante 1) Die Site **vermittelt nicht aktiv**. Aber sie macht sichtbar, wer was schon gemacht hat. Drei Realsituationen: 1. **Neuer SuS sucht Projekt-Idee:** Klickt im Katalog herum, sieht „Schlüsselanhänger — Mia, 🟢". Geht in der nächsten AG zu Mia: „Wie hast du das gemacht?" Mia kann die Hilfe leisten, weil sie ihren Stand selbst dokumentiert hat. 2. **SuS-Stuck-Situation:** Tom hängt mit dem Drohnenrahmen fest. Lehrer schaut im Drill-Down-Dashboard (siehe [[lehrer-dashboard]]), sieht „Drohne — Lara, 🟡". Lehrer vermittelt: „Lara hat sowas gemacht, frag sie." 3. **Erfahrener SuS wird Mentor:** Wenn Mias Projekt 3x als Vorlage gewählt wurde (`vorlage_projekt_id` zeigt darauf), wäre denkbar, dass Mia einen „Mentor"-Badge bekommt. Aktuell nicht implementiert — als spätere Idee in [[offene-fragen]]. ## ZSL-Material als Initial-Inhalt Bei Kursstart ist die Bibliothek leer. Damit neue SuS nicht ins Nichts schauen, kommen **8-10 ZSL-Projekte** als Seed-Inhalt (siehe [[../decisions#E-022]]): - Markus + Herb wählen Projekte gemischter Schwierigkeit aus den 20+ ZSL-Vorlagen. - Beschreibungen werden in unser Design umgearbeitet (mit CC-BY-4.0-Nachweis pro Karte: „Vorlage: Tilo Bödigheimer, ZSL Baden-Württemberg, CC-BY-4.0"). - Bilder + STLs übernehmen wir 1:1 mit Quelle. - Diese Projekte erscheinen als reguläre Katalog-Karten, sind aber **markiert als „Vorlagen-Projekt"** (Tag `zsl-vorlage` oder Badge). - SuS können sie als Vorlage wählen — dadurch entstehen eigene Projekte daraus, die wiederum in den Katalog landen. ## Sichtbarkeit für SuS - **Andere SuS sehen:** Cover, Titel, Macher, Tags, Selbsteinschätzung, Dateien, Beschreibung, „Was würdest du anderen mitgeben?". - **Andere SuS sehen NICHT:** Druckaufträge, Slots, Stand-Notizen, Stunden-Beginn-Abfragen anderer. - **Macher selbst:** sieht alles + kann eigene Projekte editieren (während `in_arbeit`). - **Lehrer:** sieht alles immer, kann immer editieren (im Review-Modus oder via Admin). Konsistent mit [[../decisions#E-004]] („Inspiration ja, Vergleich nein"). ## Spätere Erweiterungen (nicht in Etappe 6) Diese Ideen sind im Konzept dokumentiert, aber nicht zur Initial-Implementation geplant: - **Mentor-Badge** für SuS, deren Projekte oft als Vorlage gewählt werden. - **Kommentar-Funktion** unter Projekten („Mia, wie hast du den Support entfernt?"). - **Foto-Galerie pro Projekt** (mehrere Fotos im Lifecycle: Anfang, Mitte, Druck, Fertig). - **Externe Veröffentlichung einzelner Projekte** auf Printables/MakerWorld (mit SuS-Zustimmung + Eltern-OK). - **Speicher-Optimierung:** Migration der BLOB-Dateien auf Hetzner Object-Storage, sobald DB > 5 GB (siehe [[../decisions#E-016]]). ## Querverweise - DB-Schema: [[datenmodell#projekt]], [[datenmodell#projekt_datei]], [[datenmodell#projekt_tag]], [[datenmodell#projekt_rueckfrage]] - Routen: [[routen]] - Lehrer-Sicht: [[lehrer-dashboard]] - Entscheidungen: [[../decisions#E-014]] (Loop), [[../decisions#E-015]] (Feedback), [[../decisions#E-016]] (Files), [[../decisions#E-017]] (Review), [[../decisions#E-018]] (Three.js)