Der Dev-Server verlor unter der Last eines ganzen Durchlaufs reproduzierbar Chunks (ChunkLoadError beim Laden von app/layout), was sich weder durch Aufwaermen noch durch laengere Zeitlimits stabilisieren liess. Der Smoke-Test faehrt jetzt - wie der Screenshot-Lauf schon vorher - das Produktions-Image hoch. Ergebnis: 29 Sekunden statt fuenf Minuten, keine Aussetzer, und getestet wird genau das Artefakt, das spaeter deployt wird. Dabei behoben: Der Fehlteile-Dialog hielt eine Kopie der Liste aus dem Moment des Oeffnens und zeigte ein gerade hinzugefuegtes Teil nicht an. Er liest jetzt den aktuellen Eintrag aus den Props statt aus dem Zustand. Gefunden hat das der erweiterte Screenshot-Lauf. Dokumentation zu Phase 2: Changelog 0.2.0, Roadmap abgehakt, Devlog mit Zeiten, CLAUDE.md um die neuen Module und Testkonventionen ergaenzt und die Anleitung um fuenf Kapitel (Import, Scanner, Fehlteile, Einladungen, Daten, Startbildschirm) - mit vier neuen, automatisch erzeugten Bildern. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
58 lines
2.6 KiB
Markdown
58 lines
2.6 KiB
Markdown
# Roadmap
|
|
|
|
Legende: `[ ]` offen · `[~]` in Arbeit · `[x]` fertig
|
|
|
|
## Phase 1 - MVP (v0.1.0, abgeschlossen am 07.09.2026)
|
|
|
|
Laeuft vollstaendig im Docker-Stack.
|
|
|
|
- [x] Projekt-Scaffold (Next 15, Tailwind 4, shadcn/ui, pnpm)
|
|
- [x] Datenmodell in Drizzle, initiale Migration
|
|
- [x] Projektdokumentation (CLAUDE.md, Roadmap, Changelog, Devlog)
|
|
- [x] Auth: Registrierung des ersten Users (wird Admin), Login mit
|
|
Passwort, Passkey anlegen und damit einloggen (Conditional UI),
|
|
Passkey-Verwaltung unter "Konto", Rate-Limit auf Login
|
|
- [x] Mobile-first Layout-Shell mit Bottom-Navigation
|
|
- [x] Stammdaten: Hersteller, Themen (mit Unterthemen), Standorte
|
|
- [x] Set-Katalog: Kachelliste, Suche, Filter (Hersteller, Thema, Jahr,
|
|
Besitzstatus), Anlegen und Bearbeiten
|
|
- [x] Upload-Pipeline (PDF/JPEG/PNG/WebP, Magic-Byte-Pruefung,
|
|
serverseitige Dateinamen, Thumbnails)
|
|
- [x] Set-Detailseite: Metadaten, Bild, Anleitungen mit pdf.js-Viewer,
|
|
Fotos, Sammlungseintraege
|
|
- [x] Sammlung: Uebersicht, Filter, Statistik-Kacheln
|
|
- [x] Fehlende Sets (`/katalog?besitz=fehlt`) mit Mehrfachauswahl und
|
|
Bulk-Aktion "Zur Wunschliste hinzufuegen"
|
|
- [x] Wunschlisten: Verwaltung, Prioritaet, Sortierung, Teilen,
|
|
Ueberraschungsmodus, automatisches "erfuellt"
|
|
- [x] Oeffentliche Wunschliste `/w/[shareToken]` mit Reservierung ohne
|
|
Anmeldung und Storno-Link
|
|
- [x] Seed-Skript (3 Hersteller, 10 Sets, 4 in Sammlung, 1 Wunschliste)
|
|
- [x] Unit-Tests (Besitzstatus, Bulk-Add inkl. Dubletten, Reservierung,
|
|
Token-Erzeugung) und Playwright-Smoke-Test
|
|
- [x] Docker: Multi-Stage-Build, Compose-Stack, Healthcheck, Entrypoint
|
|
- [x] Dokumentation: README, QUICKSTART, bebilderte Anleitung,
|
|
update.sh, Nginx-Proxy-Manager-Konfiguration
|
|
|
|
## Phase 2 - Komfort (v0.2.0, abgeschlossen am 07.09.2026)
|
|
|
|
- [x] Rebrickable-Import: Setnummer eingeben, Metadaten und Bild
|
|
uebernehmen, Bild lokal cachen. Ohne API-Key bleibt alles manuell.
|
|
- [x] Barcode-Scanner (EAN) per Handykamera, Suche nach EAN, bei
|
|
Unbekanntem direkt ins Formular "Neues Set"
|
|
- [x] Fehlteile je Sammlungseintrag pflegen
|
|
- [x] Einladungslinks durch den Admin
|
|
- [x] Export/Import: gesamte Datenbank als JSON, Dateien als ZIP,
|
|
Sammlung zusaetzlich als CSV
|
|
- [x] PWA: Manifest, Service Worker, Katalog offline lesbar
|
|
|
|
## Phase 3 - Nice to have (Ziel: v0.3.0)
|
|
|
|
- [ ] Mehrere Sammler mit eigener Sammlung und eigenen Wunschlisten,
|
|
gemeinsamer Katalog
|
|
- [ ] Preisbeobachtung und Wertentwicklung (manuell gepflegt,
|
|
optional BrickLink-Preisfuehrer)
|
|
- [ ] E-Mail-Erinnerung (SMTP), wenn ein Wunschlisten-Termin naeher
|
|
rueckt und Eintraege unreserviert sind
|
|
- [ ] Dublettenpruefung beim Anlegen von Sets
|