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:
1 parent
e7348b0b68
commit
a7ded02015
1 file changed
+124
-20
@@ -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
|
||||
|
||||
Reference in new issue
Block a user