Neu drin: die vier Regeln, die man nicht sieht, aber merkt, wenn sie fehlen
(Teilaenderung schickt nur Gesetztes, leere Tag-Liste bedeutet etwas, kein
Kategorie beim Uebertrag, planned_cents bleibt bei "berechnet" unberuehrt),
und warum die Waehrung eines bestehenden Kontos nicht aenderbar ist.
Dazu der Befehl, mit dem man fehlende Uebersetzungen findet - ein unbekannter
Schluessel uebersetzt anstandslos und zeigt dem Nutzer den Schluessel.
Festgehalten, was aus Stufe 3 bewusst nicht mitkam: Vertragslogo und
Kontoreihenfolge. Und wo der 409-Fall wartet: an POST
/transactions/{id}/transfer, also in Stufe 4.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
63 lines
3.1 KiB
Markdown
63 lines
3.1 KiB
Markdown
# Fahrplan
|
||
|
||
Jede Phase ist für sich lauffähig und wird nach Fertigstellung committet/gepusht.
|
||
|
||
## Phase 0 – Gerüst ✅
|
||
Repo-Struktur, FastAPI + SQLite + Alembic, Multi-User-Login (Server-Sitzungen,
|
||
Cookie), Erst-Admin + Benutzerverwaltung (Temporär-Passwort), React-App-Shell,
|
||
Design-Tokens (Light/Dark), i18n (DE/EN), Einstellungen je Benutzer, ein
|
||
systemd-Dienst mit API + SPA auf einem Port, Install-/Update-Skript.
|
||
|
||
## Phase 1 – Konten, Kategorien, Transaktionen, Währung ✅
|
||
Konten (feste Währung EUR/CHF, Typ, mehrere Identifikatoren, Anfangssaldo+Stichtag),
|
||
Kategorien (Gruppen→Kategorien, Einnahme/Ausgabe, SVG-Icons), Transaktionen
|
||
(Ausgabe/Einnahme/Transfer), EZB-Wechselkurse zum Buchungsdatum (lokal gecacht,
|
||
pro Buchung überschreibbar), Kontostände.
|
||
|
||
## Phase 2 – Budget-Engine ✅
|
||
Einstellbarer Budget-Monat-Starttag, Standard-Budget als Vorlage (Snapshot-on-
|
||
Customize), geplante Einnahmen mit Zielkonto, Soll/Ist-Tabelle (grün/rot),
|
||
kein Rollover in v1.
|
||
|
||
## Phase 3 – Dashboard ✅
|
||
Konfigurierbares Karten-Grid: Budget-Donut, Kontostände, Vermögensverlauf,
|
||
Budget-Fortschritt, Einnahmen/Ausgaben, letzte Buchungen.
|
||
|
||
## Phase 4 – CSV-Import ✅
|
||
Bank-Templates (Trennzeichen/Dezimal/Datum/Spaltenmapping/Vorzeichen), lernende
|
||
Auto-Kategorisierung, Prüfansicht, Duplikat-Erkennung, interne-Transfer-Erkennung
|
||
via IBAN, Batch-Undo. Vorgefertigte Bank-Templates folgen aus Nutzer-Beispielen.
|
||
|
||
## Phase 5 – PDF/Bild-Import (Stretch) ✅
|
||
Lokal: PyMuPDF (PDF-Text) + Tesseract-OCR (Scans/Bilder), heuristischer
|
||
Zeilen-Parser (Datum + Betrag), speist dieselbe Prüfansicht. Best-Effort.
|
||
|
||
## Querschnitt – Backup/Export ✅
|
||
DB-Backup-Download (Admin) + Export je Entität (CSV/JSON); dokumentierte
|
||
LXC-Sicherung (docs/BACKUP.md).
|
||
|
||
## Querschnitt – Schlagwörter & Kategorie-Auswahl ✅
|
||
Manuelle Schlagwörter je Kategorie (Popup, Doppelklick zum Bearbeiten); Treffer
|
||
über Empfänger ODER Verwendungszweck, längstes Schlagwort gewinnt, nur bei
|
||
künftigen Importen. Korrektur-Erkennung: ab 5 Anwendungen und ≥ 1/3 Korrekturen
|
||
Prüf-Meldung in den Einstellungen (Behalten/Entfernen). Auf-/zuklappbares
|
||
Kategorie-Dropdown mit Suche (ersetzt das native optgroup-Select) in Buchungen
|
||
und Import-Prüfansicht.
|
||
|
||
## Phase 6 – iOS-App 🚧
|
||
Native App in `ios/`, die sich über die Server-Adresse ans selbe Backend hängt.
|
||
Anmeldung über eine Gerätemarke der Reichweite `app` (kein Passwort auf dem
|
||
Gerät, kein 30-Tage-Ablauf, einzeln widerrufbar). Deutsch und Englisch, iPad
|
||
zweispaltig, offline der letzte Stand mit Datum.
|
||
|
||
Stufe 1 ✅: Gerüst, Netzwerkschicht, Anmeldung samt zweitem Faktor und
|
||
Pflicht-Passwortwechsel, Kontenliste. Stufe 2 ✅: Übersicht, Budget-Monat,
|
||
Buchungsliste mit Suche, Vertragsliste. Stufe 3 ✅: Buchungen, Budget-Zeilen,
|
||
Verträge und Konten anlegen, ändern und löschen. Übersetzt fehlerfrei,
|
||
49 Tests grün, läuft im Simulator; das Xcode-Projekt entsteht aus
|
||
`ios/project.yml`, die Modelle werden gegen echte Serverantworten geprüft.
|
||
Stufen 4–7 (Arbeitsliste, Nebenräume, Erweiterungen, voller CSV-Import)
|
||
stehen aus.
|
||
|
||
**Stand, Entscheidungen und offene Punkte: `ios/UEBERGABE.md`.**
|