Files
timemaster/ROADMAP.md
T
2026-05-25 01:22:48 +02:00

5.7 KiB
Raw Blame History

TimeMaster – Roadmap

Stand: Mai 2026 · Deployed: Dev .137 · Prod .164


✅ Fertiggestellt

Feature Migration Deployed
Auth, JWT, Rollen (5 Stufen), TOTP/2FA 0001–0016 ✅
Zeiterfassung (Stempel, Pausen, Genehmigung) 0002 ✅
Abwesenheiten (Urlaub, Genehmigung, Kalender) 0003–0016 ✅
Urlaubskonto (Grundurlaub, Sondertage, Resturlaub) 0003–0016 ✅
Kiosk-Modus (PIN, NFC, QR, Mitarbeiterliste) 0018 ✅
Personalnummer (Format, Auto-Modus, CSV-Import) 0020 ✅
Krankmeldung (Quick-Sick, Bradford-Faktor, AU-Pflicht) 0022 ✅
Busylight-Integration (Pull-Modus, per-Firma Token) 0023 ✅
Row Level Security (PostgreSQL RLS, Mandanten-Isolation) 0024 ✅
SSRF-Fix CalDAV (CALDAV_ALLOWED_CIDRS Whitelist) 0026 ✅
Mobile Stempelseite /mobile (PWA, Touch-optimiert) 0027 ✅
FZA-Lücken geschlossen (Overdraft-Schutz, Refund, Auto-Recalc) 0028 ✅
Sondervertretungs-Faktoren (×1.5, eigene HR-Seite) 0029 ✅
Audit-Log Backend + Frontend (COMPANY_ADMIN/SUPER_ADMIN) — ✅
§3b EStG Stunden-Report (Nacht/Wochenende/Feiertag) — ✅

🚧 In Planung

Priorität 1 – Sicherheit & Infrastruktur

agent-08: Kiosk-Härtung (Ed25519-Signierung)

Warum: Aktueller Token-Auth ist nicht MITM-resistent. Kein Produktiveinsatz ohne diese Absicherung.

  • Backend + CLI: Ed25519-Verifizierung pro Request, timemaster kiosk-CLI (add/approve/revoke/rotate-key), Migration 0030
  • Kiosk-Frontend: ServiceWorker signiert alle Requests, WebCrypto extractable: false, IndexedDB Offline-Queue, Heartbeat
  • Verwaltungs-Frontend: KioskDevicesPage-Erweiterung (Status-Ampel, Fingerprint, Heartbeat-Timestamp), Health-Badge im Layout
  • (Phase 2 später) Anomalie-Detection (Frequenz-Threshold, IP-Sprung)

Priorität 2 – Kernfunktionen

agent-02-zeiterfassung: Vollständige Zeiterfassung

Warum: ArbZG-Prüfung, Überstundenkonto und Genehmigungsworkflow sind noch nicht vollständig abgebildet.

  • Work Schedules (Arbeitspläne) mit Wochenstunden
  • ArbZG-Regeln: Max. 10h/Tag, Pause ab 6h/9h, 11h Mindestruhezeit
  • Überstunden-Konto: auto-Berechnung bei Genehmigung
  • Manuelle Zeiteinträge (mit Berechtigung)
  • Export: CSV · XLSX · PDF

agent-04-dashboard: Dashboards & Reports

  • Mitarbeiter-Dashboard (eigene KPIs: Arbeitszeit heute, Urlaubskonto, Überstunden)
  • Manager-Dashboard (Teamübersicht: wer ist heute da, wer fehlt, offene Anträge)
  • Admin-Dashboard (Firmen-KPIs: Auslastung, Fehlzeiten, Bradford-Heatmap)
  • Erweiterte Exports: PDF (WeasyPrint), XLSX (openpyxl)

Priorität 3 – HR-Erweiterungen

Personalnummer Phase 2–5

  • GET /users/by-personnel/{number} – Lookup für externe Integrationen
  • CSV-Import-UI mit Validierungs-Vorschau
  • Personalnummer in allen Exports (CSV/XLSX/PDF)
  • Kiosk-Login per Personalnummer + PIN

Sondervertretungen – Erweiterungen

  • Jahresübersicht aller aktiven Zuweisungen
  • Bulk-Import via CSV (Spalten: Pers.-Nr., Von, Bis, Faktor, Ziel, Bezeichnung)
  • 🏅-Badge in Mitarbeiter-Tabelle (UsersPage) bei aktiver Zuweisung
  • Verknüpfung Payroll-Report ↔ Sondervertretungs-Seite

Priorität 4 – Mobile & Kiosk

Android App (Flutter)

Warum: Mitarbeiter ohne PC-Zugang brauchen eine native App für Zeiterfassung unterwegs.

  • Flutter-App mobile/ im Monorepo
  • Employee-only: Stempel In/Out/Pause, Tagesübersicht, Überstundenkonto
  • Offline-Modus: Hive-Queue, Auto-Sync bei Netzwerkwiederkehr
  • Direkt-APK (Sideloading, kein Play Store)
  • Konfigurierbarer Server-URL beim ersten Start

Priorität 5 – Integrationen & Compliance

LDAP-Sync (agent-09, geplant)

  • Automatischer User-Sync aus Active Directory / OpenLDAP
  • Mapping: employeeNumber → Personalnummer, department → Abteilung
  • Konflikt-Handling: Personalnr.-Kollision → Fehler (kein Override)

CalDAV-Erweiterungen

  • Urlaubs-Events automatisch in Nextcloud-Kalender schreiben (bei Genehmigung)
  • Abwesenheits-Template mit Platzhalter $personalnummer und $kuerzel

DSGVO-Hilfsmittel

  • Datenexport pro Mitarbeiter (Art. 20 DSGVO)
  • Löschfristen-Konfiguration + automatische Anonymisierung alter Einträge

💡 Ideen-Backlog (nicht priorisiert)

Idee Notiz
Dienstplan-Modul Schichtplanung mit Drag & Drop, Wochen-/Monatsansicht
Lohnabrechnung-Export DATEV-Format, Steuerberater-CSV mit §3b-Stunden
Bereitschafts-Erfassung Rufbereitschaft vs. Bereitschaftsdienst (25–95%-Quote)
Slack/Teams-Integration Abwesenheits-Notifications, Genehmigungs-Workflow im Chat
Mehrsprachigkeit (i18n) EN/FR/PL als erste Sprachen
Multi-Mandanten-Admin SUPER_ADMIN-Übersicht aller Firmen + Nutzung-KPIs
Kiosk Anomalie-Detection Frequenz-Threshold, Geo-Inkonsistenz, AuditLog-Alarm

Migrations-Übersicht

Migration Inhalt Status
0001–0016 Auth, Users, Abwesenheiten, TOTP ✅ deployed
0018 Kiosk-Geräte ✅ deployed
0019 Manual-Entry-Berechtigung ✅ deployed
0020 Personalnummer ✅ deployed
0021 Kiosk-Security (mTLS-Vorstufe) ✅ deployed
0022 Krankmeldung-Konfiguration ✅ deployed
0023 Busylight-Token ✅ deployed
0024 Row Level Security ✅ deployed
0025 Kiosk NFC-UID ✅ deployed
0026 Security-Fixes (LDAP TLS, TOTP-Länge) ✅ deployed
0027 Mobile-Stamping ✅ deployed
0028 FZA-Konfiguration (Overdraft, Warnschwelle) ✅ deployed
0029 Sondervertretungs-Faktoren ✅ deployed
0030 Kiosk-Härtung Ed25519 🔜 agent-08