renew
This commit is contained in:
@@ -1,80 +1,25 @@
|
||||
# Kaffeekasse SaaS Neustart
|
||||
# Legacy App Archiv
|
||||
|
||||
Frischer Neustart fuer eine mandantenfaehige Kaffeeliste mit:
|
||||
Dieses Verzeichnis enthaelt den bisherigen PHP-Bestand der Kaffeeliste.
|
||||
|
||||
- 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
|
||||
Es bleibt aus drei Gruenden im Repository:
|
||||
|
||||
## Projektziel
|
||||
- als Referenz fuer die bestehende Fachlogik
|
||||
- als Quelle fuer Datenmigrationen in die SaaS-Version
|
||||
- als Rueckfalloption waehrend der Uebergangsphase
|
||||
|
||||
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.
|
||||
## Wichtige Legacy-Bereiche
|
||||
|
||||
## Kernentscheidungen
|
||||
- `index.php`: persoenliches Dashboard
|
||||
- `stricheintragen.php`: Sammelerfassung fuer Kaffee-Striche
|
||||
- `einzahlung.php`: Sammelerfassung fuer Einzahlungen
|
||||
- `kaffeeliste.php`: operative Gesamtuebersicht
|
||||
- `mitarbeiterverwalten.php`: Mitglieder- und Rollenpflege
|
||||
- `letzteneintraege.php`: Korrektur letzter Buchungen
|
||||
- `hinweise.php`: Banner/Hinweise
|
||||
|
||||
- `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
|
||||
## Umgang Mit Dem Archiv
|
||||
|
||||
## 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:
|
||||
|
||||
```bash
|
||||
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`:
|
||||
|
||||
```dotenv
|
||||
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
|
||||
|
||||
- [public/index.php](/config/workspace/kaffeeliste-neustart/public/index.php)
|
||||
- [database/schema.sql](/config/workspace/kaffeeliste-neustart/database/schema.sql)
|
||||
- [DEPLOY.md](/config/workspace/kaffeeliste-neustart/DEPLOY.md)
|
||||
- [RUNBOOK.md](/config/workspace/kaffeeliste-neustart/RUNBOOK.md)
|
||||
- [docs/go-live-checklist-netcup.md](/config/workspace/kaffeeliste-neustart/docs/go-live-checklist-netcup.md)
|
||||
- [docs/go-to-market-30-60-90.md](/config/workspace/kaffeeliste-neustart/docs/go-to-market-30-60-90.md)
|
||||
- [docs/next-steps-roadmap.md](/config/workspace/kaffeeliste-neustart/docs/next-steps-roadmap.md)
|
||||
- [docs/product-strategy.md](/config/workspace/kaffeeliste-neustart/docs/product-strategy.md)
|
||||
- [docs/marketing-ops.md](/config/workspace/kaffeeliste-neustart/docs/marketing-ops.md)
|
||||
- [docs/production-blueprint.md](/config/workspace/kaffeeliste-neustart/docs/production-blueprint.md)
|
||||
- [docs/rfid-roadmap.md](/config/workspace/kaffeeliste-neustart/docs/rfid-roadmap.md)
|
||||
- Keine neuen Produktfunktionen mehr hier entwickeln.
|
||||
- Nur noch fuer Referenz, Datenabgleich oder Notfallbetrieb verwenden.
|
||||
- Neue Arbeit findet ausschliesslich in `../saas-app/` und `../docs/` statt.
|
||||
|
||||
Reference in New Issue
Block a user