Jede Feuerwehr stellt ihr Cockpit selbst zusammen (Wunsch: modular & einfach):
M0 – Zerlegt:
- SOMA + Pendenzen als eigenständige Modul-Komponenten, gemeinsame Typen
(journal/types.ts), einheitliche ModuleCard-Hülle
M1 – Registry & Verwaltung:
- Modul-Registry src/lib/modules.ts, Konfiguration pro Mandant in
tenants.modulesConfig (JSONB, idempotente Migration)
- API GET/PUT /api/tenant/modules (normalisiert + validiert via normalizeModules)
- "Module"-Button im Journal (Admins): an/aus, Reihenfolge hoch/runter,
eigene Module löschen
M2 – Eigene Module:
- Generisches Tabellen-Modul: frei definierbare Spalten (Text / Haken mit
Zeitstempel / Auto-Zeit), max 8 Spalten
- Generische Daten-API /api/projects/[id]/modules/[moduleId]/items (+ [itemId]),
neue Tabelle module_items, Live-Sync über journal-refresh Events
M3 – Feld-Vorlagen:
- Checkliste, Atemschutz-Überwachung (Trupp/Druck/Zeit/Draussen),
Kräfte vor Ort (Name/Funktion/seit/Weg), Lagemeldungen (Hauptbereich),
leeres Modul mit Spalten-Editor
Eingebaute Module (Journal/SOMA/Pendenzen) bleiben ohne Konfiguration exakt
wie bisher — kaputte Configs fallen sicher auf den Standard zurück.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>