# Änderungen ## Phase 0 – Projektgerüst (09.08.2026) Grundgerüst der Anwendung. Fachliche Module folgen ab Phase 1. **Betrieb** - Docker Compose mit drei Services: `nginx` (Port 8000), `php` (php-fpm 8.3), `db` (MariaDB 11) - `docker-entrypoint.sh` legt Datenverzeichnisse an und spielt Migrationen ein - `scripts/migrate.php` – nummerierte SQL-Migrationen, idempotent, mit Journal-Tabelle - `scripts/update.sh` – Update für den Produktionsserver: Backup, `git pull`, Image-Neubau bei Bedarf, Migrationen, Rechte, Tests - `scripts/backup.sh` – Datenbank- und Dateisicherung mit Rotation (7 Tage / 4 Wochen / 12 Monate), gegen Parallelläufe per `flock` abgesichert **Anwendung** - `Config`, `Database` (PDO-Wrapper, verschachtelbare Transaktionen), `Router` (Platzhalter-Routen, CSRF-Prüfung für alle verändernden Requests), `View`, `Auth` - Anmeldung mit Session-Härtung, Ersteinrichtung des ersten Benutzers - Zentraler Einstellungsdialog mit Reitern (Allgemein, Darstellung, Buchhaltung, Online-Banking, Import/Export, Wertpapiere, Diagnose); Werte in Tabelle `einstellungen` - Debug-Log, ein- und ausschaltbar, mit Maskierung von PINs, Passwörtern, TANs und API-Keys; Ausnahmen werden immer protokolliert - Layout nach Vorbild des FinanzManagers: feste Navigation links, Werkzeugleiste oben, Tab-Leiste; Farbschema hell/dunkel/System **Tests** - Test-Harness mit Transaktions-Rollback und Aufräumen temporärer Pfade - `01_AuthTest` – Anmeldung, Passwort-Hashing, CSRF, Cookie-Attribute - `02_EinstellungenTest` – Lesen/Schreiben, Cache-Invalidierung, Bereichsabdeckung - `03_RouterTest` – Pfad-Muster, Platzhalter, keine Treffer über Pfadgrenzen - `04_DebugLogTest` – Schalter, Maskierung, Fehlerprotokollierung