← Zurück zur Startseite

Apps · Case Study

Security Workforce Manager

Multi-Tenant-SaaS zur Personaleinsatzplanung im Sicherheitsgewerbe

Next.js 16 (App Router, Server Actions)TypeScriptSupabase (PostgreSQL · Realtime · Auth)Row-Level-Securityshadcn/ui + Radix@dnd-kitreact-hook-form + Zodrecharts@react-pdf/renderer · pdf-libotplib (TOTP)Sentry · pino

Kontext

Sicherheitsdienstleister disponieren Personal über viele Objekte und Auftraggeber hinweg — mit Festangestellten und Freelancern, Nachtschichten, gesetzlichen Pausen und DATEV-konformer Abrechnung. Tabellen und Zettelwirtschaft skalieren dabei nicht. Ziel des Projekts: eine durchgängige Plattform von der Schichtplanung über die Zeiterfassung bis zum Lohnlauf — mehrmandantenfähig und sicher genug für echte Personaldaten.

Architektur & Entscheidungen

Row-Level-Security als Fundament — nicht als Nachgedanke

Mehrere Firmen teilen sich eine Datenbank; Mitarbeiter können zu mehreren Firmen gehören. Die Mandantentrennung läuft daher über PostgreSQL Row-Level-Security, nicht über App-seitige Filter. Vorteil: Zugriffsregeln werden in der Datenbank erzwungen — ein vergessener WHERE-Filter im Code kann keine Daten leaken. Ergänzt durch bewusst gesetzte SECURITY-DEFINER/INVOKER-Funktionen, PII-Verschlüsselung und ein durchgehendes Audit-Log.

Integrität in der DB erzwingen, nicht nur in der UI

Doppelbuchungen (ein Mitarbeiter zur selben Zeit auf zwei Schichten) werden über einen Datenbank-Constraint verhindert — nicht nur per UI-Validierung. Nachtschichten über Mitternacht, gesetzliche Pausen (ArbZG) und Schicht-Status („Ampel") sind als Domänenlogik modelliert.

Abrechnung, die ein Steuerbüro akzeptiert

Stundenerfassung, Überstunden, Zuschläge, Festgehalt vs. Freelancer (§19 UStG), Lohnlauf mit PDF-Export und DATEV-Schnittstelle. Abgeschlossene Abrechnungsperioden sind schreibgeschützt, jede Änderung landet im Audit-Log — GOBD-Anforderungen im Blick.

Echtzeit + Optimistic UI für die Disposition

Disponent und Mitarbeiter arbeiten gleichzeitig: Supabase Realtime synchronisiert Schicht-Änderungen live, Optimistic UI gibt sofortiges Feedback. Server Components halten das Client-Bundle klein.

Module

Disposition

  • Drag-&-Drop-Schichtplaner
  • KI-Vorschläge für offene Schichten
  • Nachtschicht-Logik
  • Ampel-Status & Team-View
  • Schichtvorlagen & Generator

HR

  • Mitarbeiter-Profile & Verträge
  • Onboarding-Checklisten
  • Qualifikationen
  • Verfügbarkeiten & Wünsche
  • Urlaubsanträge

Abrechnung

  • Stunden- & Überstundenerfassung
  • Zuschläge & Zulagen-Vorlagen
  • Lohnlauf + PDF-Export
  • DATEV-Export
  • GOBD-konformes Audit-Log

KI-Assistent

  • Chat für die Dienstplanung
  • Offene Schichten finden
  • Abwesenheiten abfragen
  • Mitarbeiter zuweisen

Engineering-Notizen

50+

SQL-Migrationen, versioniert

RLS

auf allen Tabellen erzwungen

< 1 s

Realtime-Sync (Ziel)

TOTP

2FA + Recovery-Codes

Sicherheit war von Anfang an Teil der Architektur, nicht nachgelagert: server-seitige Auth-Checks in allen Server Actions, Eingabevalidierung mit Zod, PII-Verschlüsselung, Rate-Limiting und eine DSGVO-konforme Löschroutine. Fehler werden über Sentry beobachtet, strukturiertes Logging via pino.

Status & Zugang

Privates SaaS-Projekt mit echten Personal- und Abrechnungsdaten — der Zugang ist daher authentifiziert und der Quellcode nicht öffentlich. Eine Demo oder ein Code-Walkthrough ist auf Anfrage möglich.

Demo anfragen →
← Zurück zur Startseite