2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-15 18:36:57 +02:00
2026-06-15 18:36:57 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-15 17:13:56 +02:00
2026-06-17 16:45:14 +02:00
2026-06-15 17:13:38 +02:00
2026-06-17 16:45:14 +02:00
2026-06-17 16:45:14 +02:00
2026-06-15 17:13:38 +02:00

Kaffeekasse SaaS Neustart

Frischer Neustart fuer eine mandantenfaehige Kaffeeliste mit:

  • klassischer Papierliste inklusive Nacherfassung
  • digitaler Selbstbuchung fuer Browser, Tablet oder Kiosk
  • vorbereitetem RFID-Pfad ueber Device-, Tag- und Event-Modelle
  • Netcup-tauglichem PHP/MySQL-Betrieb ohne Root-Zwang
  • produktionsnaher Vermarktungs- und Betriebsdokumentation

Projektziel

Dieses Repository bildet eine pragmatische SaaS-Basis fuer mehrere Kunden oder Mandanten. Jeder Tenant arbeitet unter t/{slug} in einer getrennten Organisation, waehrend Produktlogik, Betrieb und Vermarktung zentral bleiben.

Kernentscheidungen

  • PHP 8.x + MySQL ohne schwere Runtime-Voraussetzungen
  • public/ als einziger Webroot
  • tenant_id auf allen tenantbezogenen Fachtabellen
  • ein gemeinsames Ledger fuer digital, paper und spaeter rfid
  • Webspace-freundliche Cron- und CLI-Hooks statt Daemons

Hauptfunktionen

  • Plattform-Installation per Browser
  • Self-Service-Registrierung fuer neue Mandanten
  • Plattform-Admin mit Tenant-Uebersicht
  • Tenant-Login mit Rollen owner, admin, member
  • Mitglieder, Produkte und Preisgrundlagen
  • digitale Buchungen und Einzahlungen
  • Papierlisten als Entwurf, Zeilen und Ledger-Posting
  • RFID-Geraete, Karten und Event-Inbox

Schnellstart lokal

  1. .env.example nach .env kopieren oder den Installer unter /install nutzen.
  2. database/schema.sql per bin/migrate.php gegen MySQL ausfuehren.
  3. Webroot auf public/ zeigen lassen.
  4. Plattform-Admin anlegen und anschliessend Mandanten registrieren.

Testumgebung im code-server

Fuer die SQLite-basierte Testumgebung kann der eingebaute PHP-Server genutzt werden:

php -S 0.0.0.0:8080 public/router_test.php

Der Test-Router unterstuetzt code-server-Proxy-Pfade wie /proxy/8080 und /absproxy/8080. Links, Form-Actions und Assets werden ueber zentrale Helper erzeugt, damit CSS und JavaScript auch hinter einem Pfad-Prefix geladen werden. Wenn ein Proxy den Prefix nicht als Header durchreicht, bleiben die erzeugten URLs relativ und funktionieren weiterhin innerhalb des aktuellen Proxy-Pfads.

Optional kann ein fester Pfad-Prefix gesetzt werden, z.B. in .env.test:

APP_BASE_PATH=/proxy/8080

Ein einheitlicher Hosteintrag ist dafuer nicht noetig. Zeitgemaesser ist eine Basis-Pfad-/Forwarded-Prefix-Unterstuetzung, weil Entwicklungsumgebungen wie code-server Anwendungen haeufig unter einem Unterpfad statt unter einem eigenen Host ausliefern.

Wichtige Dateien

S
Description
No description provided
Readme
4.8 MiB
Languages
PHP 62.2%
JavaScript 29.4%
CSS 8.4%