47 lines
1.7 KiB
Markdown
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
|
||
|
|
```
|