SaaS App
saas-app/ ist das Zielprojekt fuer die mandantenfaehige Neuimplementierung
der Kaffeeliste als SaaS.
Kurzueberblick
- Mandantenfaehigkeit ueber Host/Subdomain
- Rollen und Benutzerbindung pro Tenant
- Kernfunktionen fuer Dashboard, Mitglieder, Einzahlungen und Striche
- Inhalte, Hinweise, Importe, Exporte und Benachrichtigungen als eigene Module
- SSR-orientierter Betrieb fuer klassischen Webspace
- Cron-basierter Betrieb statt dauerhafter Worker
Installation
Die komplette Installationsanleitung steht im Repo unter
../docs/installationshandbuch.md.
Kurzfassung:
- Webserver auf
public/ausrichten. - Im Browser
https://deine-domain.tld/install/aufrufen. .env, DB-Zugang und Tenancy-Werte ueber den Installer speichern.- SQL-Bundle erzeugen und wenn moeglich das Datenbankschema direkt ausfuehren.
- Installer sperren.
- Einen ersten Mandanten und erste Benutzer anlegen.
- Cron-Jobs fuer Queue, Import, Export und Benachrichtigungen einrichten.
Alternative mit PHP-CLI:
php ../scripts/check-prerequisites.phpphp ../scripts/install-saas.phpphp ../scripts/run-sql-migrations.php --connection=mysql --server=... --database=...
Migrationen
Aktuell gibt es in diesem Verzeichnis keine lauffaehige artisan migrate-Strecke.
Die Dateien unter database/migrations/ liefern SQL und werden ueber folgende
Skripte verarbeitet:
..\scripts\build-migration-bundle.php..\scripts\run-sql-migrations.php
Wenn pdo_mysql lokal oder auf dem Hosting nicht verfuegbar ist, muss das
erzeugte SQL-Bundle manuell gegen MySQL/MariaDB ausgefuehrt werden.
Zentrale Verwaltung
Nach der Installation erfolgt die zentrale Administration ueber:
public/admin/login/public/admin/public/admin/tenants/public/admin/updates/
Lizenzen und Mandantenbetrieb
Mandanten koennen jetzt direkt mit einem Lizenzplan angelegt werden. Der Lizenzplan steuert, welche Bereiche im Tenant sichtbar und nutzbar sind.
Starter: Basisfunktionen fuer Mitglieder, Ledger, Einzahlungen und InhalteTeam: zusaetzlich Mandanten-Einstellungen, PDF-Listen, Papierlisten-Erfassung und Basis-ExporteBusiness: vorbereitet fuer SSO, Importe, Exporte, Benachrichtigungen und AuswertungenEnterprise: erweitert um White-Labeling, Sonderfunktionen und priorisierte Updates
Der Global-Admin kann jeden Mandanten oeffnen und ihn mit erweiterten Rechten aus Sicht des jeweiligen Tenant-Admins pruefen.
Update-Prozess
Nachtraegliche Schema- und Datenupdates laufen versioniert ueber:
public/admin/updates/im Browserphp ../scripts/run-updates.phpper CLI
Die Update-Dateien liegen in updates/ und werden in app_updates
protokolliert.
Hosting-Hinweise
- Das Projekt ist fuer Webspace geeignet, solange PHP, DB-Zugang und Cron vorhanden sind.
- Dauerhafte Queue-Worker sind nicht vorausgesetzt.
- Der zentrale Einstieg erfolgt ueber die mandantenfaehige Weboberflaeche.
- OIDC ist als bevorzugter SSO-Pfad vorgesehen, klassische Logins bleiben als Fallback moeglich.
Aktueller Stand
Das Verzeichnis ist als Zielarchitektur fuer den Neuaufbau vorbereitet und dient als konsistenter Zielzustand fuer die SaaS-Umstellung.