Files
pfandsystem-demo/README.md
christian d86c898455 chore: initial scaffold (Whitelabel-Fork von Pfandsystem)
- Source-Copy von /root/entwicklung/pfandsystem
- docker-compose.yml umgeschrieben: pfandsystem-demo-* Container, Ports 3308/8083/3003 (alle localhost)
- Traefik-Label fuer pfandsystem.dockly.de
- Erweitertes Multi-Tenant-Schema (tenants, tenant_id auf allen Tabellen)
- Neue Tabellen: kunden_bilder, geraete
- Neue Spalten: kunden.anlieferungshinweis, kunden.lieferzeit_bis
- Rollen: superadmin, admin, user, fahrer
- .env.example + README

Code-Refactor (Tailwind, Multi-Tenant-Middleware, Erweiterungen) folgt.
2026-05-26 12:39:17 +00:00

47 lines
1.7 KiB
Markdown

# Pfandsystem Demo (Whitelabel)
Whitelabel-Demo des Pfandsystems mit **Multi-Tenant-Verwaltung** für
30-Tage Demo-Accounts. Basis: borbaecker-pfand.dockly.de — neu aufgesetzt
mit Tailwind-UI, ohne Branding.
- **Domain**: pfandsystem.dockly.de
- **Server**: 51.15.249.253 (Scaleway, borbaecker-pfand.dockly.de Instanz)
- **Pfad auf Server**: `/root/pfandsystem-demo`
- **Gitea**: `ssh://git@49.13.154.75:2244/christian/pfandsystem-demo.git`
## Architektur
- **Frontend**: React 18 + Vite + Tailwind, PWA-fähig
- **Backend**: Node.js (Express) + MySQL 8 + JWT
- **Reverse-Proxy**: Traefik v3 (geteilt mit borbaecker + pfandsystem-dev)
- **Container**: `pfandsystem-demo-{mysql,phpmyadmin,backend,frontend}`
- **Ports** (alle 127.0.0.1): MySQL 3308, phpMyAdmin 8083, Backend 3003
## Multi-Tenant-Modell
Eine MySQL-DB, jede Datentabelle hat eine `tenant_id`. Mitarbeiter sind
einem Tenant zugeordnet — Ausnahme: `rolle='superadmin'` mit `tenant_id=NULL`,
darf neue Demo-Tenants anlegen.
Demo-Tenants haben `typ='demo'` + `demo_expires_at` (default +30 Tage).
Nach Ablauf wird `status='abgelaufen'` gesetzt (Cron).
## Erweiterungen (Iteration 1)
1. **Kundenbilder & Anlieferungshinweise**`kunden_bilder`-Tabelle + `kunden.anlieferungshinweis`
2. **Seriennummern-Verwaltung**`geraete`-Tabelle (Typ, SN, Status, Kunde-Zuordnung)
3. **Tourenplanung Stufe 1** — Navi-Button (Maps-Link), `kunden.lieferzeit_bis`
> BBN-Schnittstelle vorerst nicht enthalten (klärungsbedürftig).
## Deployment
```bash
ssh -i ~/.ssh/id_rsa root@51.15.249.253
cd /root/pfandsystem-demo
cp .env.example .env # Werte setzen!
docker-compose up -d --build
# Traefik in das Netzwerk joinen (einmalig):
docker network connect pfandsystem-demo_pfandsystem-demo-net pfandsystem-traefik
```