Files
Lageplan/ROADMAP.md
Pepe Ziberi d08b96a42a
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
feat(admin): echtes Super-Admin-Benutzer-Management + letzte Anmeldung
- Super-Admin sieht jetzt ALLE Benutzer über alle Mandanten in einer Tabelle
  (statt nur Server-Admins). Neue Spalten: Mandant, Letzte Anmeldung, Status
- Einzelne Benutzer sperren/entsperren: User.isActive (Schema + Auto-Migration),
  Login-Sperre für deaktivierte Konten, PATCH /api/admin/users/[id] { isActive }
- GET /api/admin/users liefert jetzt lastLoginAt + isActive
- Selbstsperre verhindert; admin@lageplan.local geschützt
- Version 1.4.6

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-18 23:15:16 +02:00

2.7 KiB
Raw Blame History

Lageplan Verbesserungs-Fahrplan

Priorisierter Plan zur Weiterentwicklung. Wir arbeiten ihn Punkt für Punkt ab. Legende Aufwand: 🟢 klein · 🟡 mittel · 🔴 gross


Phase 0 Fundament & Sicherheit

  • 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.
  • 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 Benutzer-/Mandanten-Verwaltung 🟡 (Teil 1 erledigt)
    • Super-Admin sieht jetzt ALLE Benutzer über alle Mandanten in einer Tabelle (Mandant-Spalte, letzte Anmeldung, Status), kann einzeln sperren/entsperren (User.isActive, Login-Sperre) und Passwort zurücksetzen.
    • Offen: die grosse admin/page.tsx (1365 Z.) strukturell entwirren (7 Domänen auf einem Screen) + Rollen-Dualität (User.role vs. Membership.role) vereinheitlichen.

Phase 1 Einsatz vs. Übung

  • 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 🟡
    • Direkte Buttons „Neuer Einsatz" (rot) / „Neue Übung" (blau) in der Topbar.
    • Übung → Übungs-Cockpit statt Journal: Übungsziele + Zielerreichung + Auswertung.
    • Deutliches „ÜBUNG"-Banner, Sidebar-Tab heisst bei Übung „Auswertung".

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.