Files

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:

  1. Webserver auf public/ ausrichten.
  2. Im Browser https://deine-domain.tld/install/ aufrufen.
  3. .env, DB-Zugang und Tenancy-Werte ueber den Installer speichern.
  4. SQL-Bundle erzeugen und wenn moeglich das Datenbankschema direkt ausfuehren.
  5. Installer sperren.
  6. Einen ersten Mandanten und erste Benutzer anlegen.
  7. Cron-Jobs fuer Queue, Import, Export und Benachrichtigungen einrichten.

Alternative mit PHP-CLI:

  1. php ../scripts/check-prerequisites.php
  2. php ../scripts/install-saas.php
  3. php ../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 Inhalte
  • Team: zusaetzlich Mandanten-Einstellungen, PDF-Listen, Papierlisten-Erfassung und Basis-Exporte
  • Business: vorbereitet fuer SSO, Importe, Exporte, Benachrichtigungen und Auswertungen
  • Enterprise: 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 Browser
  • php ../scripts/run-updates.php per 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.