specs for rewrite
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Anforderungs-Abgleich (Dokumentation vs. Code)
|
||||
|
||||
Dieses Dokument ergänzt die Hauptdokumentation und listet transparent auf:
|
||||
|
||||
1. Was laut Anforderungen noch nicht vollständig umgesetzt ist.
|
||||
2. Was bereits im Code existiert, aber im ursprünglichen Requirements-Dokument nicht oder nur als offener Punkt erwähnt war.
|
||||
|
||||
Basisvergleich:
|
||||
- Anforderungen: `docs/electrical-load-balance-requirements-context-dump.md`
|
||||
- Ist-Stand: aktueller Code in `src/`
|
||||
|
||||
## A) Anforderungen, die noch nicht vollständig umgesetzt sind
|
||||
|
||||
### 1) Bericht/Export/Print für Leistungsbilanzen
|
||||
- Erwartung: später nutzbarer Report-Export/Print.
|
||||
- Stand: Noch nicht umgesetzt.
|
||||
- Wirkung: Der Fokus liegt aktuell auf Erfassung, Bearbeitung und Berechnung im Web-UI.
|
||||
|
||||
### 2) „Keine Pflichtfelder“ vollständig im UI-Flow
|
||||
- Erwartung: Einträge sollen auch ohne zwingende Felder erfassbar sein.
|
||||
- Stand: Backend-seitig weitgehend erfüllt (optionale Felder + Defaults), UI-Schnellerfassung verlangt derzeit einen Namen.
|
||||
- Wirkung: Fachlich ist unvollständige Speicherung möglich, aber die Standard-UI bremst diesen speziellen Fall noch.
|
||||
|
||||
### 3) Einheitliche Textqualität (Mojibake-frei) im gesamten Frontend
|
||||
- Erwartung: saubere Umlaute/UTF-8.
|
||||
- Stand: In mehreren UI-Dateien sind weiterhin fehlerhafte Kodierungsreste vorhanden (z. B. „Gerät“).
|
||||
- Wirkung: Funktionalität ist gegeben, UX/Textqualität ist noch nachzuziehen.
|
||||
|
||||
## B) Bereits umgesetzt, aber im ursprünglichen Requirements-Dokument nicht klar ausformuliert
|
||||
|
||||
### 1) Feste Domänen-Auswahllisten sind final definiert
|
||||
- Im Requirements-Dokument war das als „noch festzulegen“ markiert.
|
||||
- Im Code jetzt vorhanden:
|
||||
- `src/shared/constants/consumer-option-lists.ts`
|
||||
- Validierung in `src/shared/validation/consumer.schemas.ts`
|
||||
- Select-Felder in `src/app/projects/[projectId]/circuit-lists/page.tsx`
|
||||
|
||||
### 2) Sortieren, Filtern und Bulk-Edit sind bereits implementiert
|
||||
- Im Requirements-Dokument als mögliche Zusatzfunktion erwähnt.
|
||||
- Im Code umgesetzt in `src/app/projects/[projectId]/circuit-lists/page.tsx`.
|
||||
|
||||
### 3) Projekt-Spannungsstandards (1-phasig / 3-phasig) inkl. Berechnungsintegration
|
||||
- Im Requirements-Dokument nicht so detailliert als Projekt-Feature beschrieben.
|
||||
- Im Code umgesetzt:
|
||||
- Projekteinstellungen im Projekt-Detail
|
||||
- Verwendung in Berechnungslogik (effektive Spannung je Verbraucher)
|
||||
|
||||
### 4) 1–3 parallele Stromkreislisten mit responsiver Aufteilung
|
||||
- Im Requirements-Dokument nicht als konkrete UI-Regel spezifiziert.
|
||||
- Im Code umgesetzt in `src/app/projects/[projectId]/circuit-lists/page.tsx`.
|
||||
|
||||
### 5) Gerätekopie global ↔ projektbezogen in beide Richtungen
|
||||
- Fachlich erwähnt, aber technisch konkretisiert im API-Design:
|
||||
- `POST /api/project-devices/projects/:projectId/import-global/:globalDeviceId`
|
||||
- `POST /api/global-devices/import-project/:projectId/:projectDeviceId`
|
||||
|
||||
## C) Offene fachliche Entscheidungen mit bereits getroffener Code-Interpretation
|
||||
|
||||
### 1) Verhalten beim Kopieren von Stromkreiseinträgen zwischen Listen
|
||||
- Offener Punkt in den Anforderungen: Link beibehalten oder trennen?
|
||||
- Aktuelle Code-Interpretation: Link-Information wird mitkopiert (`projectDeviceId`, `isLinkedToDevice`).
|
||||
- Relevanz: Sollte fachlich explizit bestätigt werden, damit spätere Änderungen keine Regression verursachen.
|
||||
|
||||
## D) Empfehlung für nächste Dokumentationsrunde
|
||||
|
||||
1. Das Requirements-Dokument um die inzwischen finalen Auswahllistenwerte ergänzen.
|
||||
2. Die Kopierlogik (Link beibehalten/trennen) fachlich eindeutig festschreiben.
|
||||
3. Einen eigenen Abschnitt für bekannte UX-/Textqualitätspunkte (Kodierung/Umlaute) ergänzen.
|
||||
Reference in New Issue
Block a user