feat(reports): Auswertungen, Kalender, Budgets und Export

Backend:
- Gemeinsame Bewegungsschicht flows(), auf der alle Berichte aufbauen; Plan und
  Ist bleiben dabei getrennt
- Forecast, Kategorien mit Drilldown, Abo-Übersicht, Jahresvergleich,
  Cashflow-Kalender, Budget-Ampel, Sparziel-Fortschritt, gebündeltes Dashboard
- Budgetübertrag über Monatsgrenzen, Budgets auf Oberkategorien schließen
  Unterkategorien ein
- Export als CSV (BOM, Semikolon, deutsches Dezimaltrennzeichen) und XLSX mit
  typisierten Beträgen

Frontend:
- Dashboard, Cashflow-Kalender mit Bestätigen direkt am Tag, Budget-, Sparziel-
  und Auswertungsseite
- Diagrammpalette gegen beide Flächen auf Kontrast und Farbfehlsichtigkeit
  geprüft; Grün/Rot als Serienpaar verworfen
- Einnahmen/Ausgaben und kumulierter Saldo in getrennten Diagrammen statt auf
  zwei Größenachsen
- Recharts in einen eigenen Chunk ausgelagert

27 neue Backend-Tests (235 gesamt), 16 neue Frontend-Tests (65 gesamt)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
This commit is contained in:
moneyfy
2026-09-09 16:50:22 +02:00
co-authored by Claude Opus 5
parent 8d6fcfeb58
commit 0adf154049
31 changed files with 5721 additions and 121 deletions
+17
View File
@@ -78,6 +78,23 @@ die Versionierung folgt [Semantic Versioning](https://semver.org/lang/de/).
Logo-Auswahldialog mit Vorauswahl, erneuter Suche über eine Domain und Upload.
- Beträge durchgängig über `Intl.NumberFormat('de-DE')`; Eingaben akzeptieren
deutsche wie englische Schreibweise.
- Auswertungen: Monatsübersicht, 12-Monats-Forecast, Kategorienaufteilung mit
Drilldown, Abo-Übersicht mit Jahreskosten, Jahresvergleich, Cashflow-Kalender,
Budget-Ampel und Fortschritt der Sparziele.
- Alle Berichte bauen auf einer gemeinsamen Bewegungsschicht auf, sodass
Monatsübersicht, Forecast und Kalender nachweislich dieselben Zahlen zeigen.
- Budgetübertrag über Monatsgrenzen und Budgets auf Oberkategorien, die deren
Unterkategorien einschließen.
- `GET /api/reports/dashboard` bündelt alles, was die Startseite braucht.
- Export als CSV (Semikolon, Komma als Dezimaltrenner, UTF-8 mit BOM) und XLSX
mit typisierten Beträgen und deutschem Zahlenformat für Buchungen, Posten
und die Monatsauswertung.
- Dashboard, Cashflow-Kalender, Budget-, Sparziel- und Auswertungsseite im
Frontend; Diagramme mit Recharts.
- Die Farbpalette der Diagramme wurde gegen die hellen und dunklen Flächen der
Anwendung auf Kontrast und Farbfehlsichtigkeit geprüft. Grün/Rot schied als
Serienpaar aus (bei Deuteranopie nicht unterscheidbar) und bleibt den
Vorzeichen im Text vorbehalten.
### Geändert