bafa5e7e618fcb42044bca322bd2006b2cb199c3
billing_stripe_price_id() und der komplette abo-upgrade.php-Ablauf warfen bisher eine ungefangene RuntimeException (Fatal Error), sobald STRIPE_SECRET_KEY nicht gesetzt ist (z. B. lokale Dev-Umgebung ohne echte Stripe-Zugangsdaten) - bestand bereits im alten Code, ist durch die neue Tarif-Vergleichstabelle mit mehr Buchen-Buttons aber leichter auslösbar geworden. Jetzt: sauberer 502 'Bezahldienst nicht verfuegbar' statt Fatal-Error-Seite. Erstmals lokal per HTTP end-to-end gegen echten Dev-Server + MariaDB getestet (PHP 8.3 + MariaDB 11.4 als portable Binaries installiert, siehe docs/dev-mysql.md): eigener Test-Mandant mit 12 aktiven Teilnehmern, Tarif-Tabelle korrekt gerendert (5 Tarife, Pflicht-Upgrade-Hinweis, Buchen- Buttons, Enterprise-Anfrage-Link), Buchung von 'free' bei Ueberschreitung korrekt mit 400 abgelehnt, Buchung eines bezahlten Tarifs ohne Stripe-Key jetzt sauber mit 502 statt Fatal-Error-Crash. Alle bestehenden Regressionstests weiterhin gruen: Golden Master (104), Billing-Capacity (10), M8-Isolation (10), M8-Rollenmatrix (55).
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 überscripts/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 überapp/ledger.phpundapp/saas-auth.phpumgestellt; 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.mdbeschrieben.
Languages
PHP
62.2%
JavaScript
29.4%
CSS
8.4%