Files
lernbar/ROADMAP.md
T
Florian WildeandClaude Opus 5 c61d5711e0 Baustein 10b: Anleitung mit Screenshots, Abnahmelauf, Fassung 1.0.0
docs/ANLEITUNG.md: 20 Abschnitte, 27 Bildschirmfotos, getrennt fuer
Ausbilder und Azubi, dazu "Wenn etwas nicht geht". Die Bilder entstehen
automatisiert ueber npm run screenshots - was dort steht, ist gemessen
und nicht gemalt.

scripts/pruefungen/abnahme.mjs (npm run abnahme) laeuft gegen eine
frische, leere Datenbank in einem Wegwerfverzeichnis: aufsetzen, Konten
anlegen, arbeiten, abnehmen, sichern, beschaedigen, zurueckspielen. Eine
Sicherung, die nie zurueckgespielt wurde, ist keine Sicherung. 33 von 33
Pruefungen erfuellt, Protokoll in docs/ABNAHME.md.

Dabei drei echte Fehler gefunden, alle in Wegen, die nie ausgefuehrt
worden waren:

- Die Sicherungsskripte liefen nicht in Git Bash, obwohl das in ihrem
  Kopf stand: tar deutet den Doppelpunkt in "C:\..." als Rechnernamen.
  Beide wechseln jetzt erst ins Verzeichnis und uebergeben einen blossen
  Dateinamen.
- Auf einer frischen Datenbank gibt es noch kein Wochenblatt; der Weg
  jedes neuen Azubis war nie durchlaufen worden.
- Der Abnahmelauf selbst liess unter Windows seinen Server ueberleben
  (kill() beendet nur die cmd.exe) und prueft deshalb jetzt vorher, ob
  der Port frei ist - sonst haette er gegen fremde Daten geprueft.

Fassung 1.0.0: package.json stand noch auf 0.1.0, waehrend das
Aenderungsprotokoll bei 0.9.0 war.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 19:26:34 +02:00

134 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Fahrplan
Die Bausteine werden der Reihe nach umgesetzt. Nach jedem Baustein gibt es
einen lauffähigen Stand, einen Eintrag im [Änderungsprotokoll](CHANGELOG.md)
und eine Zeitnotiz im [Arbeitstagebuch](DEVLOG.md).
Legende: `[ ]` offen · `[~]` in Arbeit · `[x]` fertig
---
## 0.1 – Fundament
- [x] **B1 · Gerüst, Docker, Datenbank, Migrationen, Anmeldung, zwei Rollen**
- [x] Next.js 15 (App Router), TypeScript, ESLint, Vitest, Playwright
- [x] SQLite über Drizzle, eigener Migrationslauf beim Start
- [x] Argon2id, serverseitige Sitzungen, HttpOnly-Cookie, SameSite=Lax
- [x] Rollen `ausbilder` / `azubi`, reine Rechteregeln getrennt testbar
- [x] Verwaltung: Azubikonto und Ausbildung anlegen, Passwort setzen, sperren
- [x] Dockerfile (mehrstufig), docker-compose.yml, Lebenszeichen
- [x] `update.sh` für den Linux-Server mit Sicherung und Rückfall
- [x] `sicherung.sh` / `wiederherstellen.sh`
## 0.2 – Inhalte
- [x] **B2 · Inhalte einlesen und validieren, Handouts anzeigen, Suche**
- [x] Markdown mit YAML-Frontmatter, Zod-Prüfung, Start bricht bei Fehler ab
- [x] Fehlermeldung nennt Datei und Zeile
- [x] Handout-Ansicht mit festem Aufbau, Themenblöcke, „gelesen" merken
- [x] Volltextsuche über alle Handouts
- [x] Neu einlesen bei Dateiänderung im Entwicklungsbetrieb
- [x] Glossar mit automatischer Verlinkung in den Handouts
- [x] Beispielinhalte: 4 Wochen, 12 Handouts, 24 Merkkarten, 4 Aufgaben,
4 Checklisten, 2 Lernzielkontrollen, 24 Glossareinträge
- [x] Rahmenplan aus FIAusbV und KMK-Rahmenlehrplan als Nachschlagewerk
## 0.3 – Woche und Wiederholung
- [x] **B3 · Wochenplan als Startseite, Fortschritt, Wochen verschieben**
- [x] Wochenplan ist die Startseite des Azubis: Thema, Leitfrage, fünf Tage
mit Theorie und Praxis, Fortschrittsbalken, was noch offen ist
- [x] Ausbilder sieht dieselbe Woche plus den Stand seiner Azubis
- [x] Geplantes und tatsächliches Datum je Woche
- [x] Verschieben per Datumsfeld, wahlweise mit allen folgenden Wochen
- [x] Reihenfolge per Ziehen und Ablegen **und** per Tastatur
- [x] Zustand je Woche (geplant / läuft / abgeschlossen) und Notiz für den Azubi
- [x] Warnung bei sich überlappenden Terminen
- [x] **B4 · Merkkarten mit Wiederholung nach Zeitabstand (SM-2)**
- [x] Vereinfachtes SM-2 mit drei Bewertungsstufen statt sechs
- [x] Täglich fälliger Stapel, gedeckelt auf 20 Karten
- [x] Fünf Fächer zur Anzeige, abgeleitet aus dem Abstand
- [x] Filter nach Themenblock für gezieltes Üben vor der Kontrolle
- [x] Lernmodus fürs Handy: große Flächen, Antippen, Wischen, kein Hover
- [x] Am Rechner zusätzlich Leertaste und Tasten 1 / 2 / 3
- [x] Jede Bewertung wird mitgeschrieben (Verlauf für die spätere Auswertung)
- [x] Merkkarten zählen im Wochenfortschritt mit
## 0.4 – Nachweise
- [x] **B5 · Praxisaufgaben mit Anhängen und Abnahme**
- [x] Status offen / in Arbeit / zur Abnahme / abgenommen
- [x] Notizen des Azubis, Dateianhänge (Fotos, Bildschirmfotos, PDF)
- [x] Ausbilder hakt Kriterien einzeln ab, Note und Rückmeldung
- [x] Abnehmen sperrt die Aufgabe, Zurückgeben zur Nacharbeit
- [x] Anhänge nur über Kennung, Berechtigung bei jedem Abruf geprüft
- [x] „Was auf dich wartet" zeigt offene Abnahmen
- [x] Aufgaben zählen im Wochenfortschritt mit
- [x] **B6 · Checklisten mit Durchläufen und PDF**
- [x] Durchlauf aus einer Vorlage, mit Datum, Ticket und Kunde
- [x] Schritt für Schritt abhaken, Bemerkung je Schritt
- [x] Fortschritt je Gruppe (Vorbereiten / Durchführen / Prüfen / Abschließen)
- [x] Abschließen erst, wenn alles abgehakt ist
- [x] Abgeschlossene Durchläufe bleiben als Nachweis und sind gesperrt
- [x] PDF-Export mit Unterschriftenzeilen
- [x] Ausbilder liest mit, hakt aber nicht für den Azubi ab
- [x] **B7 · Berichtsheft: Tagesnotizen, Vorschläge, Prüfung, Abzeichnen, PDF**
- [x] Tägliche Stichworte, je Tag ein eigenes kleines Formular
- [x] Vorschläge aus Tagesnotizen, Aufgaben, Checklisten und Handouts
- [x] Formulierungshilfe: Tätigkeitsverben und „so besser nicht / so ist es richtig"
- [x] Prüfung auf fehlende Stunden, Floskeln und schützenswerte Angaben
- [x] Warnung, keine Sperre – Einreichen ist immer möglich
- [x] Einreichen, zurückgeben mit Anmerkung, abzeichnen; danach gesperrt
- [x] Fehlende Wochen werden benannt und lassen sich nachtragen
- [x] PDF im IHK-Layout, einzeln oder als ganzer Zeitraum
## 0.5 – Bewertung
- [x] **B8 · Lernzielkontrollen mit Freigabe, Abgabe, Korrektur**
- [x] Ausbilder gibt frei, kann die Freigabe vor der Abgabe zurücknehmen
- [x] Fragen erst ab der Freigabe sichtbar
- [x] Antworten werden beim Tippen zwischengespeichert
- [x] Musterlösungen erst nach dem Absenden – serverseitig entfernt,
nicht in der Oberfläche versteckt
- [x] Korrektur mit Punkten je Frage, Anmerkung je Frage und gesamt
- [x] Notenschlüssel der IHK, Zwischenstand beim Korrigieren sichtbar
- [x] Ergebnis bei beiden sichtbar, Verlauf über alle Kontrollen
- [x] **B9 · Auswertung, Rahmenplanabdeckung, Feedbackgespräch**
- [x] Stand des Azubis: Handouts, Merkkarten, Aufgaben, Berichtsheft
- [x] Rahmenplanabdeckung mit vier Lagen statt „erledigt/offen"
- [x] Lücken im Lehrgang werden getrennt ausgewiesen
- [x] Lernfeldabdeckung nach Ausbildungsjahr
- [x] Ergebnisverlauf der Lernzielkontrollen
- [x] Feedbackgespräch mit Leitfaden und Bewertungsbogen
- [x] Beide Seiten bewerten getrennt, Abweichungen werden hervorgehoben
- [x] Nach beidseitiger Bestätigung unveränderlich, PDF für die Akte
## 1.0 – Abrundung
- [x] **B10 · PWA, Offlinebetrieb, Druckansichten, Feinschliff**
- [x] Installierbar: Manifest, Symbole aus dem eigenen Zeichen erzeugt
- [x] Offline: Merkkarten und gelesene Handouts, Bewertungen in einer
Warteschlange, nachgereicht bei Verbindung
- [x] Nichts Bewertungsrelevantes im Browserspeicher – nachgewiesen
- [x] Druckansichten, auch bei eingestellter dunkler Fassung
- [x] Anleitung mit Screenshots (`docs/ANLEITUNG.md`), Bilder automatisiert
über `npm run screenshots`
- [x] Ende-zu-Ende-Test über den Hauptweg (`scripts/pruefungen/abnahme.mjs`)
- [x] Abnahmekriterien einzeln durchgespielt und protokolliert
(`docs/ABNAHME.md`)
---
## Danach – bewusst zurückgestellt
- Erinnerung freitags per E-Mail (in der Anwendung reicht zunächst)
- Importskript für vorhandenes Material (52 Handouts, 8 Checklisten, …),
sobald die Quelldateien vorliegen
- Wechsel auf PostgreSQL (vorbereitet durch die Repository-Schicht, aber
ohne Anlass nicht sinnvoll)
## Ausdrücklich nicht geplant
Mehrmandantenfähigkeit · Chat und Kommentare · Gamification ·
Inhaltseditor in der Oberfläche · IHK-Schnittstellen · KI-Funktionen