Files
lernbar/ROADMAP.md
T
Florian WildeandClaude Opus 5 b9d6041f3b Baustein 6: Checklisten mit Durchlaeufen und PDF-Export
- Durchlauf aus einer Vorlage, mit Datum, Ticket und Kunde
- Schritt fuer Schritt abhaken, Bemerkung je Schritt
- Fortschritt gesamt und je Gruppe (Vorbereiten/Durchfuehren/Pruefen/Abschliessen)
- Abschliessen erst, wenn alles abgehakt ist; Meldung nennt die offenen Schritte
- Abgeschlossene Durchlaeufe sind gesperrt und bleiben als Nachweis
- Titel und Schritttexte werden beim Start kopiert, nicht verwiesen
- PDF-Export mit gezeichneten Ankreuzkaestchen und Unterschriftenzeilen
- Gemeinsame PDF-Grundlage fuer alle kuenftigen Ausgaben
- Ausbilder liest mit und darf das PDF abrufen, hakt aber nicht ab
- Abgeschlossene Durchlaeufe zaehlen im Wochenfortschritt mit

Behoben beim Durchstich: Die Fusszeile wurde unterhalb des Satzspiegels
gesetzt, wodurch PDFKit je Fusszeile eine leere Seite anhaengte - aus zwei
Seiten wurden sechs. Ein Test zaehlt jetzt die Seitenobjekte im PDF.

29 neue Tests, insgesamt 186.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 21:00:30 +02:00

104 lines
4.8 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
- [ ] **B7 · Berichtsheft: Tagesnotizen, Vorschläge, Prüfung, Abzeichnen, PDF**
## 0.5 – Bewertung
- [ ] **B8 · Lernzielkontrollen mit Freigabe, Abgabe, Korrektur**
- [ ] **B9 · Auswertung, Rahmenplanabdeckung, Feedbackgespräch**
## 1.0 – Abrundung
- [ ] **B10 · PWA, Offlinebetrieb, Druckansichten, Feinschliff**
- [ ] Anleitung mit Screenshots (`docs/ANLEITUNG.md`), Bilder automatisiert
über `npm run screenshots`
- [ ] Ende-zu-Ende-Test über den Hauptweg
- [ ] Abnahmekriterien einzeln durchgespielt und protokolliert
---
## 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