feat(projects): Einsatz/Übung-Modus
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 22m24s
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 22m24s
- Feld mode (EINSATZ/UEBUNG) am Projekt + idempotente Auto-Migration - Auswahl beim Erstellen (Segmented-Control mit Lucide-Icons) - Badge "Einsatz"/"Übung" in der Projektliste - Eigene Nummerierung für Übungen (Ü-YYYY-NNNN, getrennt gezählt) - Journal-Titel wird bei Übung zu "Übungs-Journal" - ROADMAP.md mit Verbesserungs-Fahrplan ergänzt Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
52
ROADMAP.md
Normal file
52
ROADMAP.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Lageplan – Verbesserungs-Fahrplan
|
||||
|
||||
Priorisierter Plan zur Weiterentwicklung. Wir arbeiten ihn Punkt für Punkt ab.
|
||||
Legende Aufwand: 🟢 klein · 🟡 mittel · 🔴 gross
|
||||
|
||||
---
|
||||
|
||||
## Phase 0 – Fundament & Sicherheit
|
||||
|
||||
- [x] **0.1 – JWT-Secret härten** 🟢 ✅
|
||||
- Gemeinsames Secret-Modul; in Produktion hart fehlschlagen, wenn `NEXTAUTH_SECRET`
|
||||
fehlt oder < 32 Zeichen. Kein öffentlich bekannter Fallback mehr.
|
||||
- Betrifft: `src/lib/auth.ts`, `src/middleware.ts`
|
||||
- _Hinweis: Cookie-Flags (httpOnly/secure/sameSite) sind bereits korrekt._
|
||||
- [x] **0.2 – Token-Laufzeit verkürzt** 🟢 ✅
|
||||
- „Angemeldet bleiben" 30 → 14 Tage. Laufzeiten zentralisiert (`SESSION_MAX_AGE_*` in `auth.ts`).
|
||||
- _Offen für später: automatische Verlängerung bei Aktivität + serverseitiger Widerruf (grösserer Umbau, braucht Live-Test)._
|
||||
- [ ] **0.3 – Tenant-Admin-UX** 🟡
|
||||
- Mitglieder einladen / Rolle ändern / deaktivieren. APIs existieren bereits.
|
||||
|
||||
## Phase 1 – Einsatz vs. Übung
|
||||
|
||||
- [x] **1.1 – `mode`-Feld am Projekt** 🟢 ✅
|
||||
- Feld `mode` (EINSATZ/UEBUNG) im Schema + Auto-Migration + Validierung.
|
||||
- Auswahl beim Erstellen (Segmented-Control), Badge in Projektliste, eigene Nummer `Ü-…`.
|
||||
- [ ] **1.2 – UI je nach Modus** 🟡 _(teilweise: Journal-Titel wird bei Übung zu „Übungs-Journal")_
|
||||
- Offen: Übung → Journal ganz aus, stattdessen „Übungsziele / Zielerreichung / Auswertung"-Panel.
|
||||
|
||||
## Phase 2 – Symbole aufräumen & ergänzen
|
||||
|
||||
- [ ] **2.1 – Kategorien vereinheitlichen** 🟢 (Motorspritze, Hydrant, Leitern …)
|
||||
- [ ] **2.2 – Fehlende taktische Zeichen** 🟡 (Warteraum, Rettungsachse … – Input von Fabian)
|
||||
- [ ] **2.3 – Symbol-Schönheitsfehler** 🟢 (Eingang/Treppe Umriss, Absperrung Seitenlinien)
|
||||
- [ ] **2.4 – Custom-Felder pro Symbol** 🟢 (z. B. Stockwerke; `Item.properties` existiert)
|
||||
|
||||
## Phase 3 – Lage-/Rapportansicht
|
||||
|
||||
- [ ] **3.1 – Reduzierte Lage-View** 🟡
|
||||
- Read-Only (Pendenzen + Stand + Aufgaben) für Grossbildschirm. `Rapport` + Token existieren.
|
||||
|
||||
## Phase 4 – Echte Kollaboration
|
||||
|
||||
- [ ] **4.1 – Karte & Journal getrennt live-editierbar** 🔴
|
||||
- Single-Editor-Lock aufbrechen; Socket.io-Sync erweitern.
|
||||
|
||||
## Phase 5 – Kür
|
||||
|
||||
- [ ] **5.1 – Linien-Typ-Abfrage** 🟡 (Rettungsachse / Leitung / normal)
|
||||
|
||||
---
|
||||
|
||||
_Fortschritt wird hier laufend abgehakt._
|
||||
Reference in New Issue
Block a user