Stack & Setup
- Dockerisierte Dev-Umgebung (PHP 8.4-FPM, Nginx, MariaDB 11.4)
- Symfony 7.4 + API Platform 4.3, Doctrine ORM, LexikJWT, Messenger
- Vue 3 + TS (Vite), Vue Router, Pinia, Axios
Kern-Domäne & Auth
- Entitäten: User, PlatformPlan, Reseller, Company, Domain, Location,
Employee, ContactLink (UUIDv7)
- JWT-Login (/api/login), Rollen-Hierarchie, /api/me
- Mandantentrennung via API-Platform-Query-Extension (Lesen) +
TenantStampProcessor (Schreiben)
Öffentliche Profile (SSR)
- Profil-Landingpage, vCard-Download, QR-Code im Marken-Look
- Stabiler NFC/QR-Kurz-Link /t/{code} -> Redirect aufs aktuelle Profil
- Firmenspezifisches Branding (Farben/Logo) auf der Profilseite
Verwaltungsoberfläche (SPA)
- Brand-Look (dunkle Sidebar), rollenbasierte Navigation
- Dashboard, Reseller (+Provisioning), Firmen, Mitarbeiter, Standorte,
Domains, Design/Branding mit Live-Vorschau
Konzept & Doku: docs/KONZEPT.md (inkl. Wallet/Sync §12), README.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
services:
|
|
php:
|
|
build:
|
|
context: ./docker/php
|
|
args:
|
|
UID: ${UID:-1000}
|
|
GID: ${GID:-1000}
|
|
volumes:
|
|
- ./backend:/app
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
environment:
|
|
DATABASE_URL: "mysql://app:app@mariadb:3306/vcard4reseller?serverVersion=11.4.0-MariaDB&charset=utf8mb4"
|
|
|
|
nginx:
|
|
image: nginx:1.27-alpine
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- ./backend:/app:ro
|
|
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- php
|
|
|
|
mariadb:
|
|
image: mariadb:11.4
|
|
ports:
|
|
- "3306:3306"
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: root
|
|
MARIADB_DATABASE: vcard4reseller
|
|
MARIADB_USER: app
|
|
MARIADB_PASSWORD: app
|
|
volumes:
|
|
- mariadb_data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
node:
|
|
image: node:25-alpine
|
|
working_dir: /app
|
|
volumes:
|
|
- ./frontend:/app
|
|
ports:
|
|
- "5173:5173"
|
|
command: sh -c "npm install && npm run dev -- --host 0.0.0.0"
|
|
profiles: ["frontend"]
|
|
|
|
volumes:
|
|
mariadb_data:
|