# Craftvia **Handwerk. Digital auf Kurs.** — mandantenfähige Einsatz-PWA für Handwerks- und Montagebetriebe. - Spezifikation: [docs/craftvia/SPEC-CRAFTVIA.md](docs/craftvia/SPEC-CRAFTVIA.md) - Architektur/Datenmodell: [docs/craftvia/ARCHITEKTUR.md](docs/craftvia/ARCHITEKTUR.md) (folgt) - Projektregeln für Entwickler und Agenten: [AGENTS.md](AGENTS.md) - Branding: [docs/craftvia/BRANDBOOK.md](docs/craftvia/BRANDBOOK.md), [docs/craftvia/BRANDING.md](docs/craftvia/BRANDING.md) - Migrationen & RLS: [docs/craftvia/MIGRATIONS.md](docs/craftvia/MIGRATIONS.md) ## Stand Fundament aus Certvia übernommen (Auth/Identity/MFA/WebAuthn, Mandanten, RBAC, Audit-Log, Mail, Objektspeicher, Backup/DSGVO, Plattform-Administration, i18n). Die ISMS-Fachlichkeit ist entfernt; die Craftvia-Fachmodule haben Routen-Platzhalter, Modul-Gates, Navigation und Rollen/Permissions als Andockpunkte. ## Schnellstart (lokal) Voraussetzungen: Node 22, Docker. ```bash cp .env.example .env # AUTH_SECRET/PASSWORD_PEPPER erzeugen (siehe Kommentare) npm ci docker compose up -d postgres redis garage GARAGE_ADMIN_URL=http://localhost:3903 npx tsx scripts/garage-provision.ts npx prisma migrate deploy npx prisma db seed npx tsx scripts/geocode-backfill.ts --tenant=demo # Koordinaten für Karte/Empfehlungen (1 Anfrage/s) npx tsx scripts/planning-demo.ts # Beispielbelegung der Plantafel (heute + 4 Werktage) npm run dev # http://localhost:3000 ``` Login: `admin@demo.example` / `Demo1234!` (weitere Demo-Nutzer siehe AGENTS.md). ## Befehle | Befehl | Zweck | |---|---| | `npm run dev` | Entwicklungsserver | | `npm run lint` / `npx tsc --noEmit` | Lint / Typprüfung | | `npm run build` | Produktions-Build (inkl. Modul-Guard-Check) | | `npm run test` | alle `scripts/test-*.ts` gegen die lokale Infra | | `npm run gate` | generate + tsc + lint + build + test | | `npm run worker:mail` / `worker:backup` | Hintergrund-Worker | | `npm run brand:icons` | Favicon/PWA-Icons aus dem Signet erzeugen | ## Betrieb Container-Build über das Multi-Stage-`Dockerfile` (Targets `runner`, `migrate`, `garage`, `worker`), Deployment mit `docker-compose.coolify.yml` bzw. `docker-compose.coolify.prebuilt.yml`. Hinweise: [`docs/craftvia/DEPLOY.md`](docs/craftvia/DEPLOY.md) (Betrieb, Secrets, Worker, RLS, Backup), [`docs/craftvia/API.md`](docs/craftvia/API.md) (`/api/v1`). Übernommene Certvia-Dokumente liegen in `docs/_certvia-archiv/`.