Files
kaffeeliste/saas-app
clemens cb6e4e7dcb Add guided installer for SaaS application setup
- Updated README.md to include instructions for guided installation on webspace without shell access.
- Enhanced installationshandbuch.md with detailed steps for using the guided installer.
- Modified saas-app/README.md to summarize the installation process using the new installer.
- Generated SQL migration bundle now includes timestamp for better tracking.
- Introduced public/install/index.php as the entry point for the guided installer.
- Updated public/index.php to reflect changes in installation steps and added links to the installer.
- Refactored migration bundle generation and SQL execution scripts for improved error handling and modularity.
- Implemented session-based CSRF protection in the installer.
- Added form handling for environment variable configuration and migration execution in the installer.
- Created a user-friendly HTML interface for the installer with status messages and error handling.
2026-03-21 20:18:41 +01:00
..
2026-03-20 15:31:03 +01:00
2026-03-20 15:31:03 +01:00
2026-03-20 15:31:03 +01:00
2026-03-20 15:31:03 +01:00

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 Migrationen 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 --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_sqlsrv lokal nicht verfuegbar ist, muss das erzeugte SQL-Bundle manuell gegen SQL Server ausgefuehrt werden.

Migration Aus Dem Legacy-System

Die fachliche Roadmap und der Uebergang aus dem alten Root-System sind in ../docs/implementation-foundation.md beschrieben.

Der relevante Kern der alten Anwendung besteht im Wesentlichen aus:

  • Dashboard und Kontostand
  • Mitgliederverwaltung
  • Kaffee-Striche
  • Einzahlungen
  • Hinweise und Inhalte
  • Exporte und operative Hilfsfunktionen

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 vorbereitet. Es ersetzt den Legacy-Root noch nicht vollstaendig, sondern dient als naechster konsistenter Zielzustand fuer die SaaS-Umstellung.