Vor dem ersten FTP-Deploy nach /testumgebung.kaffeeliste.de/httpdocs/ fehlte jede Absicherung des Upload-Umfangs: sync_config.jsonc hatte eine leere excludePath-Liste, es waeren also .git (komplett herunterladbar), .env.local (Dev-DB-Zugangsdaten) und sync_config.jsonc selbst (enthaelt das FTP-Passwort im Klartext) mit ausgeliefert worden. Von diesen dreien war keines von den bestehenden .htaccess-Regeln erfasst. - sync_config.jsonc: excludePath gefuellt; scripts/ und database/ bleiben bewusst im Deploy, weil die Plesk-Scheduled-Tasks sie vom Webspace aus ausfuehren. - .htaccess: sync_config.jsonc und Dotfile-Ordner gesperrt, Vendor- Verzeichnisse (TCPDF/PHPMailer/DataTables) fuer direkte URL-Aufrufe gesperrt, HTTPS-Redirect ergaenzt (ohne ihn bekam ein http-Besucher eine Session ohne secure-Flag). - PHPMailer/ entfernt: enthielt nur noch LICENSE, composer.json und ein per URL erreichbares get_oauth_token.php, kein Quellcode. Der Versand laeuft seit M6 ueber saas_send_mail(). - docs/deployment.md: Umgebungen, Deploy-Ablauf, Migrationen und Cron-Jobs ueber Plesk Scheduled Tasks (kein SSH verfuegbar), Mail-/DNS-, Stripe- und PayPal-Voraussetzungen, Go-Live-Checkliste. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
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. Ausrollen und Inbetriebnahme auf dem Webspace beschreibtdocs/deployment.md.
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.