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.
This commit is contained in:
46
README.md
Normal file
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user