Files
craftvia/README.md
T
msolarczekandClaude Opus 5 1e1c154a8a Plantafel: Beispielwoche relativ zu heute; Live-Lage mit Kachelansicht
Neues Skript scripts/planning-demo.ts plant über createWorkOrder + scheduleWorkOrder eine
Woche für beide Kolonnen (Auslastung, Überbuchung, Überschneidung, Mehrtagesauftrag,
ungeplante Aufträge); die Demo-Termine aus dem Seed liegen relativ zum Seed-Tag und wandern
sonst aus dem Standardzeitraum.

Live-Lage: Umschalter Karte · Kacheln · Liste, Kachelansicht mit Status, Auftrag und Ort;
LiveMap meldet nicht erreichbare Kartenkacheln und die Ansicht wechselt automatisch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 09:44:24 +02:00

56 lines
2.4 KiB
Markdown

# 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/`.