# Kaffeeliste

Dieses Repository enthält den laufenden Umbau der Kaffeelisten-App von einer
Windows/IIS/LDAP-gebundenen Legacy-App zu einer mehrkundenfähigen SaaS-
Anwendung. Der Umbau erfolgt schrittweise im selben Repository, nicht in
einem getrennten Zielverzeichnis: Legacy-Seiten und neue SaaS-Bausteine
liegen nebeneinander, bis eine Seite vollständig auf das neue Modell
umgestellt ist.

Den vollständigen Plan mit Zielbild, Datenmodell, Rollenmodell und
Meilensteinen beschreibt `docs/saas-umstrukturierungsplan.md`. Der
Fortschritt je Meilenstein steht in `docs/m2-technical-foundation.md` bis
`docs/m5-app-kern.md`.

## Struktur

- Legacy- und SaaS-Seiten liegen als flache PHP-Dateien im Webroot, zum
  Beispiel `index.php`, `stricheintragen.php`, `kaffeeliste.php`,
  `mitarbeiterverwalten.php`.
- `app/`: zentrale Bausteine für Bootstrap, DB-Zugriff, Auth, Mail und das
  neue Ledger-Modell (`app/ledger.php`).
- `database/migrations/`: versionierte Schemaänderungen, anzuwenden über
  `scripts/migrate.php`.
- `scripts/`: Migrations-, Backfill- und Prüfskripte (Golden Master,
  HTTP-Smoke, M3/M4-Checks).
- `docs/`: Planungs- und Meilensteindokumentation.

## Umgang mit Legacy-Seiten

- Seiten, die noch direkt auf `kl_*`-Tabellen schreiben, werden schrittweise
  auf tenant-sicheres Lesen/Schreiben über `app/ledger.php` und
  `app/saas-auth.php` umgestellt; siehe die Meilensteindokumente für den
  aktuellen Stand je Seite.
- Neue Produktfunktionen entstehen gegen das neue Modell (Tenants, Users,
  Participants, Ledger), nicht mehr direkt gegen die `kl_*`-Tabellen.
- Lokale Entwicklung gegen MySQL ist in `docs/dev-mysql.md` beschrieben.
