docs(tasks): v1.x/Spaeter-Roadmap gemaess Lastenheft Abschnitt 26

Module 22-33 (SOLL) mit Backend/Endpunkte/Frontend/Checkbox-Struktur
analog zum MVP spezifiziert. Spaeter-Liste (KANN) in software-seitig
umsetzbare Punkte und explizit nicht umsetzbare (native App, ML,
Sprach-/Sensorintegration) mit Begruendung aufgeteilt.
This commit is contained in:
Nick Szaunig committed 2026-08-22 10:47:31 +02:00
1 parent e7348b0b68
commit a7ded02015
1 file changed
+124 -20
+124 -20
View File
@@ -163,29 +163,133 @@ Abgeleitet aus [`docs/lastenheft.md`](docs/lastenheft.md) Abschnitt 26. Reihenfo
- [x] Rückverfolgbarkeitskette Volk → Durchsicht → Behandlung → Ernte → Schleuderung → Honigcharge → Lager end-to-end manuell verifiziert
- [x] Alle Erfolgskriterien aus Abschnitt 30 stichprobenartig beantwortbar
## v1.x (SOLL)
## v1.x (SOLL) – Abschnitt 26, Liste 2
- [ ] QR-Code-System (Abschnitt 4.23): Generierung + Scan-Landing pro Objekt
- [ ] Abfüllchargen (Abschnitt 4.19): `BottlingBatchesModule`, `ProductsModule`
- [ ] Detailliertes Inventar (Abschnitt 4.22): `EquipmentModule`
- [ ] Kalender (Abschnitt 4.25)
- [ ] Benachrichtigungssystem mit Prioritäten (Abschnitt 24)
- [ ] Umfangreiche Statistiken/Reporting (Abschnitt 4.26)
- [ ] Webhooks (Abschnitt 9): `WebhooksModule`, Events wie in Lastenheft gelistet
- [ ] Fotoverwaltung / Dokumente (Abschnitt 4.24): `DocumentsModule` + Objektspeicher
- [ ] Automatische Folgeaufgaben / Automatisierungsregeln (Abschnitt 23)
- [ ] Königinnenbewertung / Scoring-System (Abschnitt 4.7)
- [ ] Lagerbehälter-Umlagerungshistorie erweitert (Abschnitt 4.18)
- [ ] Importfunktionen (Abschnitt 10, strukturierter CSV-Import für Stammdaten)
Reihenfolge = Bau-Reihenfolge. Gleiche Haken-Regel wie MVP: erst setzen, wenn Lint+Typecheck+Tests+Build grün UND manuell/per Test verifiziert.
## Später (KANN)
### R. Redesign (grundlegend)
- [ ] Vollständig offlinefähige PWA mit Sync (Abschnitt 12)
- [ ] Native Smartphone-App
- [ ] NFC-Tags
- [ ] Wetterintegration / Wetterhistorie je Bienenstand
- [ ] Trachtprognosen
- [ ] Kartenansicht
- [x] Design-Tokens: warme Honig-/Wachs-Farbpalette (Amber-Primär, Salbeigrün-Sekundär, Warnung/Erfolg), Space Grotesk (Überschrift) + Inter (Fließtext) + IBM Plex Mono (Codes/IDs)
- [x] Navigation, Dashboard, Login neu gestaltet (Hexagon-Markenzeichen, aktiver Link-Zustand, Waben-Signaturmuster)
- [ ] Verbleibende Bestandsseiten (Listen/Details aller MVP-Module) auf einheitlichen Karten-/Badge-/Icon-Stil durchgezogen
- [ ] Alle neuen v1.x-Module folgen dem Redesign von Anfang an (kein Nacharbeiten nötig)
### 22. QR-Code-System
- Backend: `QrModule` – erzeugt QR-Code (PNG/SVG) pro Objekt, kodiert Deep-Link (`/colonies/:id`, bei Volk direkt `/inspections/new?colonyId=:id` gemäß Lastenheft-Begründung "reduziert Auswahlaufwand")
- Endpunkte: `GET /api/v1/qr/:entityType/:id.svg` für `entityType` ∈ `colonies|apiaries|queens|honey-batches|storage-containers`
- Frontend: "QR-Code"-Button/Dialog auf den jeweiligen Detailseiten, druckfreundliche Ansicht
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 23. Abfüllungen und Produkte
- Backend: `BottlingModule` (`BottlingBatch`), `ProductsModule` (`Product`); Abfüllung reduziert `HoneyBatch.amount` transaktional
- Endpunkte: `GET/POST /api/v1/bottling-batches`, `GET /api/v1/bottling-batches/:id`, `GET/POST /api/v1/products`, `GET/PATCH /api/v1/products/:id`
- Frontend: `/bottling/new`, `/bottling/:id`, `/products`, `/products/new`
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 24. Inventar
- Backend: `EquipmentModule` (`Equipment`: Inventarnummer, Bezeichnung, Hersteller, Kaufdatum, Zustand, Standort, Wartungsdatum)
- Endpunkte: `GET/POST /api/v1/equipment`, `GET/PATCH /api/v1/equipment/:id`
- Frontend: `/equipment`, `/equipment/new`, `/equipment/:id`
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 25. Kalender
- Backend: `CalendarModule` – aggregiert Durchsichten, Aufgaben, Behandlungen, Fütterungen, Ernten, Königinnenarbeiten in einem Zeitfenster
- Endpunkte: `GET /api/v1/calendar?from=&to=&apiaryId=`
- Frontend: `/calendar` (Monats-/Wochenansicht)
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 26. Benachrichtigungssystem
- Backend: `NotificationsModule` (`Notification`: Priorität INFO/HINWEIS/WARNUNG/KRITISCH, Nachricht, verknüpftes Objekt, gelesen); erzeugt aus Automatisierungen/Schwellenwerten
- Endpunkte: `GET /api/v1/notifications`, `POST /api/v1/notifications/:id/read`
- Frontend: Glocken-Icon in der Navigation mit Liste/Badge für ungelesene Einträge
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 27. Statistik und Reporting
- Backend: `StatisticsModule` – Auswertungen gemäß Abschnitt 4.26 (Volksstärke-Entwicklung, Völkerverluste, Königinnen-Ertrag/Lebensdauer, Standort-Ertrag, Varroa-Verlauf, Honigertrag pro Volk/Stand/Jahr, Futterverbrauch)
- Endpunkte: `GET /api/v1/statistics/{colonies|queens|apiaries|varroa|honey|feeding}`
- Frontend: `/statistics` mit Diagrammen
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 28. Webhooks
- Backend: `WebhooksModule` (`WebhookSubscription`: URL, Events, Secret, aktiv); Event-Dispatcher an bestehende Services angehängt (`colony.created`, `inspection.created`, `queen.created`, `queen.replaced`, `harvest.created`, `batch.created`, `batch.updated`, `product.stock_changed`, `task.created`, `task.completed`), HMAC-signierter POST
- Endpunkte: `GET/POST /api/v1/webhooks`, `DELETE /api/v1/webhooks/:id`
- Frontend: `/settings/webhooks` (nur Administrator)
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 29. Dokumente und Bilder
- Backend: `DocumentsModule` (`Document`: entityType/entityId, Dateiname, MIME-Typ, Größe, Speicherpfad, Hochgeladen-von); Objektspeicher als lokales Volume (`deploy/k8s` ConfigMap-Pfad, austauschbar)
- Endpunkte: `POST /api/v1/documents` (multipart, entityType/entityId), `GET /api/v1/documents?entityType=&entityId=`, `GET /api/v1/documents/:id/download`, `DELETE /api/v1/documents/:id`
- Frontend: Datei-Upload-Widget auf Volk-/Königin-/Durchsicht-/Bienenstand-/Honigcharge-Detailseiten
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 30. Automatisierungen
- Backend: `AutomationModule` (`AutomationRule`: Trigger-Typ, aktiv, Konfiguration, Aktionsvorlage) mit fest hinterlegten Triggern (keine Königin+keine Stifte → Kontrollvorschlag, Varroa-Schwellenwert → Behandlungsprüfung, Futterstatus kritisch → Fütterungsaufgabe), erzeugt Task + Notification
- Endpunkte: `GET/POST /api/v1/automation-rules`, `PATCH /api/v1/automation-rules/:id`
- Frontend: `/settings/automation-rules` (nur Administrator)
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 31. Königinnenbewertung
- Backend: `QueenEvaluation` (Volksstärke, Sanftmut, Wabensitz, Schwarmtrieb, Brutbild, Honigertrag je Skala 1–5, Datum, Notizen) verknüpft mit Königin
- Endpunkte: `GET/POST /api/v1/queens/:id/evaluations`
- Frontend: Bewertungsformular + Verlauf auf der Königin-Detailseite
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 32. Lagerbehälter-Umlagerung
- Backend: `HoneyBatchRelocation`-Historie – Honigcharge zwischen Lagerbehältern umlagern, `storageContainerId` aktualisieren, jede Umlagerung dokumentiert
- Endpunkte: `POST /api/v1/honey-batches/:id/relocate`, `GET /api/v1/honey-batches/:id/relocations`
- Frontend: Lagerbehälter-Sektion + Umlagerungshistorie auf der Honigcharge-Detailseite
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### 33. Importfunktionen
- Backend: `ImportModule` – CSV-Import für Stammdaten (`apiaries`, `colonies`, `queens`), Validierung, Ergebnisbericht (erstellt/übersprungen/Fehler pro Zeile)
- Endpunkte: `POST /api/v1/import/:entity` (multipart CSV)
- Frontend: `/settings/import` (nur Administrator), Datei-Upload + Ergebnisbericht
- [ ] Backend-Modul fertig, getestet, grün, committet
- [ ] Frontend-Views fertig, getestet, grün, committet
### v1.x-Abschluss
- [ ] Gesamter Backend-Build grün (`lint`, `typecheck`, `test`, `test:e2e`, `build`)
- [ ] Gesamter Frontend-Build grün (`lint`, `typecheck`, `test`, `build`)
- [ ] Erweiterte Kernanforderung aus Abschnitt 29 end-to-end verifiziert: Stand → Volk → Königin → Durchsicht → Behandlung → Ernte → Schleuderung → Honigcharge → Lagerbehälter → Abfüllung → Produkt
## Später (KANN) – Abschnitt 26, Liste 3
Software-seitig umsetzbare Punkte werden gebaut. Punkte, die dedizierte native Build-Pipelines, echte ML-Modelle oder physische Hardware voraussetzen, sind als "nicht umsetzbar in diesem Kontext" markiert statt mit einer Alibi-Umsetzung – Begründung jeweils dahinter.
- [ ] Kartenansicht (Bienenstände mit Koordinaten auf einer Karte)
- [ ] Wetterintegration / Wetterhistorie je Bienenstand (externe Wetter-API anhand Bienenstand-Koordinaten)
- [ ] Trachtprognosen (heuristische Einschätzung aus Wetterdaten + Saison + historischen Ernten, kein ML-Modell)
- [ ] Öffentliche Herkunftsseiten für Honigchargen + Kunden-QR-Code (Abschnitt 27: `wabenhain.com/herkunft/{lot}`, öffentlicher Read-Endpoint)
- [ ] Vollständig offlinefähige PWA mit Sync (Service Worker + IndexedDB-Warteschlange für Durchsichten, Sync bei Wiederverbindung)
- [ ] NFC-Tags (Web-NFC-API, nur Chrome/Android; kodiert denselben Deep-Link wie der QR-Code; kein Fallback für andere Browser möglich)
- [x] ~~Native Smartphone-App~~ – nicht umsetzbar in diesem Kontext: erfordert eigene native Codebasis, App-Store-Vertrieb und Build-Pipeline ausserhalb einer Web-Session
- [x] ~~KI-Auswertung von Völkerdaten, automatische Anomalieerkennung, Fotoanalyse~~ – nicht umsetzbar in diesem Kontext: erfordert dediziertes ML-Modelltraining/-Betrieb, keine seriöse Umsetzung als einfache Heuristik
- [x] ~~Spracherfassung am Bienenstand, automatische Zusammenfassung einer Durchsicht~~ – nicht umsetzbar in diesem Kontext: erfordert Spracherkennungs-/LLM-Infrastruktur über das bestehende Stack hinaus
- [x] ~~Sensorintegration (Stockwaagen, Temperatur-/Feuchtesensoren)~~ – nicht umsetzbar in diesem Kontext: erfordert physische IoT-Hardware
- [ ] KI-Auswertung von Völkerdaten / automatische Anomalieerkennung
- [ ] Fotoanalyse
- [ ] Spracherfassung am Bienenstand