msolarczekandClaude Opus 5 d9290a187c L15 Testphase & Onboarding: Selbstanmeldung mit Double-Opt-in, Plattform-Wizard, Nur-Lesen-Sperre, Export, Lebenszyklus-Job
- Datenmodell: Testphasen-Lebenszyklus am Mandanten (plan, trialEndsAt, readOnlySince, deletionDueAt,
  Versandmarker), TrialSignup (Plattform, Hashes statt Klartext), TenantExport (RLS), Onboarding-Status
- /testen: 5-Schritte-Wizard (Betrieb, Admin-Konto, Enddatum, Einrichtung, Zusammenfassung),
  Bestätigung per POST, direkte Anmeldung über login-ticket; Rate-Limit je IP/E-Mail, Honeypot,
  Enumeration-Schutz, Slug-Kollisionen
- Plattform: Wizard „Testmandant anlegen“ mit Einladung, Badges/Filter, Enddatum ändern,
  umwandeln, beenden, Löschung vormerken/abbrechen (Bestätigung + Audit)
- Schreibsperre nach Ablauf zentral in moduleGuard und requireApiContext (non-GET über withApi),
  Upload-Routen, Einstellungen/Nutzerverwaltung, Worker-Jobs; Banner Backoffice + mobil
- Datenexport (ZIP mit CSV/JSON + Dateien) als Worker-Job, auch im Nur-Lesen-Zustand
- Täglicher Job trial-lifecycle: Erinnerungen 7/3/1, Ablauf, Löschhinweis, Löschung über das Offboarding
- Erste-Schritte-Checkliste im Dashboard, Mail-Vorlagen de/en, Tests + Smoke, Betriebsdoku

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 19:01:47 +02:00
2026-09-14 11:44:58 +02:00

Craftvia

Handwerk. Digital auf Kurs. — mandantenfähige Einsatz-PWA für Handwerks- und Montagebetriebe.

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.

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
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 (Betrieb, Secrets, Worker, RLS, Backup), docs/craftvia/API.md (/api/v1). Übernommene Certvia-Dokumente liegen in docs/_certvia-archiv/.

S
Description
No description provided
Readme
10 MiB
Languages
TypeScript 91.3%
Python 7.9%
CSS 0.4%
Dockerfile 0.3%