Anforderungen: S2 Checkliste
1. Zweck des Tools
S2 Checkliste ist ein internes Webtool zur digitalen Verwaltung von Onboarding- und Offboarding-Checklisten für Mitarbeiter.
Das Tool soll sicherstellen, dass bei Eintritten und Austritten alle notwendigen Aufgaben durch die zuständigen Fachbereiche und den Mitarbeiter selbst nachvollziehbar abgearbeitet werden.
Typische Inhalte:
Materialien
Zugänge
Arbeitskleidung
Einarbeitungsplan
Rückgabeprozesse
IT-Zugänge
HR-Aufgaben
Einkauf-/Materialaufgaben
COM-/FI-/IT-/HR-spezifische Aufgaben
Mitarbeiteraufgaben
später: eLearning-Kontrolle
Das Tool ersetzt keine Personalakte, sondern dient als operatives Checklisten-, Erinnerungs-, Nachweis- und Protokollsystem.
---
2. Grundprinzip
Für jeden Mitarbeiterfall wird eine Checkliste angelegt.
Dabei wird ausgewählt:
Onboarding
Offboarding
Standardwert:
Onboarding
Die Checklistenart ist fachlich zentral. Sie steuert:
Vorlagen
Aufgaben
Fachbereichs-Checklisten
Mitarbeiter-Checkliste
Fristen
Mailtexte
Erinnerungen
PDFs
Zertifikate oder Abschlussdokumente
Dashboardfilter
Auditlog
Archivierung
Technisch soll die Checklistenart als Feld `checklist_type` gespeichert werden.
Erlaubte Werte:
`onboarding`
`offboarding`
---
3. Technischer Rahmen
Plattform
PHP 8.2.30
Kein Framework
MariaDB
Apache
Composer erlaubt
PHPMailer für SMTP-Mailversand
Dompdf oder vergleichbare Library für PDF-Erzeugung
`.env` für Konfiguration
Deployment zunächst auf Raspberry Pi möglich
Apache läuft intern hinter Caddy
Reverse Proxy
Caddy ist bereits vorhanden und leitet öffentlich weiter:
```text
https://check.tbln-cloud.ddns.net → 192.168.178.51:8080
```
Apache soll intern auf Port `8080` laufen.
Caddy darf durch Installation oder Deployment nicht gestoppt, deaktiviert oder verändert werden.
Apache
Apache DocumentRoot muss auf das öffentliche Verzeichnis zeigen:
```text
/var/www/s2-checkliste/public
```
Nicht auf:
```text
/var/www/s2-checkliste
```
Interne Verzeichnisse wie `src`, `storage`, `database`, `vendor`, `.env` dürfen niemals direkt öffentlich erreichbar sein.
---
4. Projektstruktur
Empfohlene Struktur:
```text
s2-checkliste/
├── public/
├── src/
├── config/
├── templates/
├── cron/
├── storage/
├── database/
├── vendor/
├── composer.json
├── .env.example
├── install.sh
└── README.md
```
Anforderungen an die Struktur
`public/` ist der einzige Web-Einstiegspunkt.
Alle sensiblen Dateien liegen außerhalb von `public/`.
Uploads, PDFs, Zertifikate und Logs liegen unter `storage/`.
Downloads erfolgen nur über berechtigte Routen.
Keine Datei aus `storage/` darf direkt erratbar öffentlich erreichbar sein.
---
5. Konfiguration
Die Konfiguration erfolgt über `.env`.
Mindestwerte:
```env
APP_ENV=production
APP_DEBUG=false
APP_URL=https://check.tbln-cloud.ddns.net

DB_HOST=localhost
DB_NAME=s2_checkliste
DB_USER=s2_checkliste_user
DB_PASS=
DB_CHARSET=utf8mb4

SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
SMTP_FROM=
SMTP_FROM_NAME="S2 Checkliste"
```
SMTP-Passwörter dürfen nicht im Adminbereich angezeigt werden.
---
6. Rollen und Rechte
6.1 Admin
Der Admin hat Vollzugriff.
Der Admin darf:
Benutzer verwalten
Fachbereiche verwalten
Positionen verwalten
Regionen verwalten
Onboarding-Vorlagen pflegen
Offboarding-Vorlagen pflegen
Mailtexte pflegen
Fristen und Erinnerungen verwalten
alle Mitarbeiter-Checklisten sehen
alle Fachbereichs-Checklisten sehen
alle Checklisten bearbeiten
Aufgaben nachträglich ergänzen
Aufgaben entfernen
geschlossene Checklisten wieder öffnen
Checklisten archivieren
Checklisten deaktivieren
Checklisten anonymisieren
Checklisten löschen
Protokolle einsehen
PDFs und Abschlussdokumente herunterladen
Token reaktivieren oder neu erzeugen
6.2 Benutzer
Der Benutzer hat stark eingeschränkte Rechte.
Der Benutzer darf:
neue Mitarbeiterfälle anlegen
nach dem Anlegen die Angaben einmal prüfen
final bestätigen
Nach finaler Bestätigung hat der Benutzer keinen weiteren Zugriff auf diesen Fall.
Der Benutzer darf nicht:
Fachbereichs-Checklisten einsehen
Einstellungen ändern
Protokolle einsehen
Auswertungen sehen
bestehende Fälle nachträglich bearbeiten
---
7. Stammdaten
7.1 Fachbereiche
Fachbereiche sind in den Einstellungen pflegbar.
Standard-Fachbereiche:
FI
EK
COM
IT
HR
Pro Fachbereich gibt es genau eine Empfänger-E-Mail-Adresse.
7.2 Regionen
Regionen sind in den Einstellungen pflegbar.
Standard-Regionen:
Ost
Nord
West
Nord-HRB
7.3 Positionen
Positionen werden als Text gepflegt.
Anforderungen:
Positionen können angelegt werden.
Positionen können umbenannt werden.
Positionen können aktiv/inaktiv gesetzt werden.
Positionen werden in Aufgabenmatrizen verwendet.
Zusätzlich muss es in Matrizen die Option „Alle Positionen“ geben.
---
8. Checklistenarten
Das Tool unterstützt genau zwei Arten:
8.1 Onboarding
Wird bei Eintritt eines Mitarbeiters genutzt.
Relevantes Datum:
Eintrittsdatum
Mitarbeiter-Abschlussdokument:
Zertifikat
Dateiname:
```text
yyyymmdd_onboarding_vorname_name_eintrittsdatum.pdf
```
8.2 Offboarding
Wird bei Austritt eines Mitarbeiters genutzt.
Relevantes Datum:
Austrittsdatum
Mitarbeiter-Abschlussdokument:
Abschlussdokument
Dateiname:
```text
yyyymmdd_offboarding_vorname_name_austrittsdatum.pdf
```
8.3 Technisches Datumsfeld
Technisch kann ein neutrales Feld genutzt werden:
```text
event_date
```
In der Oberfläche muss abhängig von `checklist_type` angezeigt werden:
bei Onboarding: Eintrittsdatum
bei Offboarding: Austrittsdatum
---
9. Vorlagenverwaltung
Vorlagen müssen getrennt nach Checklistenart gepflegt werden.
Es gibt:
Onboarding-Vorlagen
Offboarding-Vorlagen
Für jede Checklistenart gibt es separat:
Fachbereichsaufgaben je Fachbereich
Mitarbeiteraufgaben
Positionsmatrix
Reihenfolge der Aufgaben
aktive/inaktive Aufgaben
Fristen
Erinnerungslogik
Mailtexte
9.1 Aufgabenmatrix
Die Aufgabenmatrix funktioniert so:
links steht die Aufgabe
rechts stehen die Positionen als Checkboxen
zusätzlich gibt es „Alle Positionen“
Gilt für:
Onboarding-Fachbereichsaufgaben
Onboarding-Mitarbeiteraufgaben
Offboarding-Fachbereichsaufgaben
Offboarding-Mitarbeiteraufgaben
9.2 Aufgaben
Aufgaben haben mindestens:
Titel
optionale Beschreibung
Fachbereich oder Mitarbeiterzuordnung
Checklistenart
Reihenfolge
aktiv/inaktiv
Positionszuordnung
Option „Alle Positionen“
Aufgaben können sortiert werden.
Die Reihenfolge muss beim Snapshot gespeichert werden.
---
10. Snapshot-Logik
Dies ist eine zentrale fachliche Anforderung.
Beim Anlegen und finalen Bestätigen eines Mitarbeiterfalls werden alle relevanten Aufgaben aus den Vorlagen als Snapshot in die konkreten Checklisten kopiert.
Das bedeutet:
laufende Checklisten hängen nicht direkt an Vorlagen
spätere Änderungen an Vorlagen ändern bestehende Checklisten nicht
alte Checklisten bleiben nachvollziehbar
Aufgabenstand und Aufgabenreihenfolge bleiben historisch korrekt
Der Snapshot muss speichern:
Checklistenart
Mitarbeiter
Funktion/Position
relevante Aufgaben
Fachbereich
Aufgabe
Beschreibung
Reihenfolge
Status
Datum
Positionsbezug
Vorlagenstand zum Zeitpunkt der Anlage
Onboarding-Vorlagen dürfen niemals Offboarding-Checklisten beeinflussen.
Offboarding-Vorlagen dürfen niemals Onboarding-Checklisten beeinflussen.
---
11. Anlageprozess
Ein Mitarbeiterfall wird über einen Wizard angelegt.
11.1 Pflichtfelder Onboarding
Checklistenart
Eintrittsdatum
Vorname
Nachname
E-Mail
Region
Führungskraft
Führungskraft-E-Mail
Funktion/Position
11.2 Pflichtfelder Offboarding
Checklistenart
Austrittsdatum
Vorname
Nachname
E-Mail
Region
Führungskraft
Führungskraft-E-Mail
Funktion/Position
11.3 Ablauf
Benutzer oder Admin startet den Wizard.
Checklistenart wird gewählt.
Standard ist Onboarding.
Pflichtdaten werden erfasst.
System zeigt Prüfansicht.
Benutzer bestätigt final.
System erzeugt Snapshots.
System erzeugt Token-Links.
Fachbereiche werden sofort per Mail informiert.
Mitarbeiter-Mail wird nach Versandregel versendet.
Führungskraft erhält denselben Mitarbeiter-Link.
---
12. Token-Links
12.1 Grundprinzip
Fachbereiche und Mitarbeiter greifen ohne Login über lange, kryptografisch sichere Token-Links auf ihre Checklisten zu.
Token müssen:
lang sein
zufällig sein
nicht erratbar sein
eindeutig sein
serverseitig validiert werden
deaktivierbar sein
12.2 Fachbereichslinks
Jeder Fachbereich bekommt pro Mitarbeiter einen eigenen Link.
Ein Fachbereichslink zeigt nur:
diesen Mitarbeiterfall
diese Checklistenart
diesen Fachbereich
die Aufgaben dieses Fachbereichs
Andere Fachbereiche dürfen nicht sichtbar sein.
12.3 Mitarbeiterlink
Der Mitarbeiter erhält einen eigenen Link.
Die Führungskraft erhält denselben Link zur Kontrolle und zum Nachfassen.
Der Mitarbeiterlink wird erst deaktiviert, wenn der Mitarbeiter sein Abschlussdokument heruntergeladen hat.
---
13. Fachbereichs-Checklisten
Fachbereichs-Checklisten sind pro Fachbereich und Mitarbeiterfall getrennt.
13.1 Statuswerte
Erlaubte Statuswerte:
Offen
In Arbeit
Erledigt
Nicht relevant
Technische Werte:
`open`
`in_progress`
`done`
`not_relevant`
13.2 Abschlusslogik
Eine Aufgabe gilt als geschlossen bei:
`done`
`not_relevant`
Eine Fachbereichs-Checkliste ist abgeschlossen, wenn alle Aufgaben geschlossen sind.
13.3 Rechte im Fachbereichslink
Der Fachbereich darf:
Status setzen
Status ändern
Kommentare schreiben
Aufgaben auf „Nicht relevant“ setzen
erledigte Aufgaben wieder öffnen
Kommentar ist nicht verpflichtend.
13.4 Protokoll
Alle Änderungen werden protokolliert:
Zeitpunkt
Aufgabe
alter Status
neuer Status
Kommentar
Fachbereich
Mitarbeiter
Checklistenart
Bearbeiterart
Token oder Admin
13.5 PDF-Protokoll
Sobald alle Aufgaben eines Fachbereichs abgeschlossen sind, wird ein PDF-Protokoll als Download angeboten.
Das PDF enthält:
Mitarbeiterdaten
Checklistenart
Fachbereich
Aufgaben
finaler Status
Kommentare
Statuswechsel
Zeitpunkte
Dateiname Onboarding:
```text
yyyymmdd_checkliste_onboarding_funktion_vorname_name_eintrittsdatum.pdf
```
Dateiname Offboarding:
```text
yyyymmdd_checkliste_offboarding_funktion_vorname_name_austrittsdatum.pdf
```
---
14. Mitarbeiter-Checkliste
Der Mitarbeiter erhält eine eigene Checkliste.
14.1 Statuswerte
Erlaubte Statuswerte:
Offen
In Arbeit
Erledigt
Technische Werte:
`open`
`in_progress`
`done`
Der Mitarbeiter darf nicht setzen:
Nicht relevant
Der Mitarbeiter darf keine Kommentare hinterlegen.
14.2 Sichtbarkeit für den Mitarbeiter
Der Mitarbeiter sieht:
seine eigenen Aufgaben
den Fortschritt der Fachbereiche
erledigte Fachbereichsaufgaben
Datum der Erledigung der Fachbereichsaufgaben
Der Mitarbeiter sieht nicht:
offene Fachbereichsaufgaben
Fachbereichsaufgaben mit Status „Nicht relevant“
Kommentare der Fachbereiche
14.3 Abschluss
Wenn alle Mitarbeiteraufgaben erledigt sind, erscheint eine Abschlussmeldung.
Onboarding:
```text
Herzlichen Glückwunsch, du hast deine Aufgaben in dieser Checkliste bearbeitet.
```
Offboarding:
```text
Du hast deine Aufgaben in dieser Checkliste vollständig bearbeitet.
```
Danach kann der Mitarbeiter ein Abschlussdokument herunterladen.
Der Abschluss gilt erst mit Download des Dokuments.
Nach Download wird der Mitarbeiter-Link deaktiviert.
HR erhält das Dokument automatisch per Mail.
Die HR-Mailadresse ist in den Einstellungen pflegbar.
---
15. Abschlussdokumente
15.1 Onboarding-Zertifikat
Das Onboarding-Zertifikat bestätigt den Abschluss des Onboardings.
Anforderungen:
professionelles Design
freundlich
passend zu sozialem Dienstleister
nicht behördlich
herunterladbar durch Mitarbeiter
automatisch per Mail an HR
Dateiname:
```text
yyyymmdd_onboarding_vorname_name_eintrittsdatum.pdf
```
15.2 Offboarding-Abschlussdokument
Das Offboarding-Dokument bestätigt die Bearbeitung der Offboarding-Checkliste.
Anforderungen:
professionell
sachlich
freundlich
herunterladbar durch Mitarbeiter
automatisch per Mail an HR
Dateiname:
```text
yyyymmdd_offboarding_vorname_name_austrittsdatum.pdf
```
15.3 Dateinamen-Normalisierung
Dateinamen müssen normalisiert werden:
Kleinschreibung
Umlaute umwandeln
Leerzeichen zu Unterstrichen
Sonderzeichen entfernen
Beispiele:
```text
Müller → mueller
Große-Leege → grosse-leege
```
---
16. Fristen
Fristen werden global konfiguriert.
Sie gelten nicht je Aufgabe, sondern je:
Checklistenart
Empfängerart
Checklistenarten:
Onboarding
Offboarding
Empfängerarten:
Fachbereich
Mitarbeiter
Je Kombination muss einstellbar sein:
x Tage vor Datum
x Tage nach Datum
Bezugsdatum:
Onboarding: Eintrittsdatum
Offboarding: Austrittsdatum
Beispiele:
Onboarding Fachbereiche: x Tage vor Eintritt
Onboarding Mitarbeiter: x Tage nach Eintritt
Offboarding Fachbereiche: x Tage vor Austritt
Offboarding Mitarbeiter: x Tage vor oder nach Austritt
---
17. Erinnerungen
Die Erinnerungsfunktion ist konfigurierbar.
Anforderungen:
global aktivierbar/deaktivierbar
Erinnerungsintervall einstellbar
Beispiel: alle 2 Tage
läuft über Cron
verhindert Mehrfachversand im selben Intervall
Empfänger:
Fachbereiche bei offenen Fachbereichs-Checklisten
Mitarbeiter bei offener Mitarbeiter-Checkliste
Führungskraft bei offener Mitarbeiter-Checkliste
Onboarding und Offboarding können unterschiedliche Erinnerungsregeln haben.
---
18. Mailversand
18.1 Grundregeln
Mailversand über PHPMailer
SMTP-Konfiguration aus `.env`
Mailtemplates im Adminbereich bearbeitbar
SMTP-Passwort nicht im Adminbereich sichtbar
Mailversand wird protokolliert
Mehrfachversand muss verhindert werden
Cron verarbeitet fällige Mails
18.2 Mailtemplates
Mailtemplates müssen getrennt nach Checklistenart bearbeitbar sein.
Benötigte Mailtexte je Checklistenart:
Neue Fachbereichs-Checkliste
Erinnerung Fachbereich
Mail an Mitarbeiter
Erinnerung Mitarbeiter
Info/Kopie an Führungskraft
Abschlussdokument an HR
18.3 Platzhalter
Mindestens unterstützte Platzhalter:
```text
{{vorname}}
{{nachname}}
{{email}}
{{eintrittsdatum}}
{{austrittsdatum}}
{{datum}}
{{funktion}}
{{region}}
{{fuehrungskraft}}
{{fuehrungskraft_email}}
{{fachbereich}}
{{checklistenart}}
{{checklisten_link}}
{{mitarbeiter_link}}
{{fristdatum}}
```
Unter jedem Editorfeld im Adminbereich müssen die verfügbaren Platzhalter angezeigt werden.
---
19. Cron
Es gibt ein Cron-Script:
```text
cron/send_due_mails.php
```
Aufgaben:
fällige Mitarbeiter-Mails senden
Erinnerungen senden
überfällige Fachbereichs-Checklisten erkennen
überfällige Mitarbeiter-Checklisten erkennen
Onboarding und Offboarding korrekt unterscheiden
Mailversand protokollieren
Mehrfachversand verhindern
nur fällige Mails versenden
Empfohlener Cronjob:
```cron
*/5 * * * * www-data php /var/www/s2-checkliste/cron/send_due_mails.php >> /var/log/s2-checkliste-cron.log 2>&1
```
---
20. Dashboard
Der Adminbereich enthält ein Dashboard.
20.1 Hauptansichten
Neue Eintritte
Anstehende Austritte
Überfällige Fachbereichs-Checklisten
Überfällige Mitarbeiter-Checklisten
Fortschritt je Mitarbeiter
Fachbereichsstatus je Mitarbeiter
Protokollsuche
Archivierte Checklisten
20.2 Filter
Filter nach:
Checklistenart
Region
Funktion
Datum
Status
20.3 Detailansichten
Es muss geben:
Detailansicht je Mitarbeiterfall
Detailansicht je Fachbereich
Protokollansicht
Download vorhandener PDFs
Download vorhandener Zertifikate oder Abschlussdokumente
---
21. Auditlog und Statuslog
Alles Relevante wird protokolliert.
21.1 Auditlog
Zu protokollieren:
Mitarbeiterfall angelegt
Checklistenart gewählt
final bestätigt
Link erzeugt
Mail versendet
Erinnerung versendet
Aufgabe ergänzt
Aufgabe entfernt
Aufgabe wieder geöffnet
Checkliste abgeschlossen
PDF erzeugt
Zertifikat heruntergeladen
Abschlussdokument heruntergeladen
Link deaktiviert
Admin-Eingriff
Archivierung
Löschung
Anonymisierung
21.2 Statuslog
Für jede Statusänderung:
Zeitpunkt
alte Status
neuer Status
Aufgabe
Checkliste
Fachbereich oder Mitarbeiter
Checklistenart
Kommentar, falls vorhanden
Bearbeiterart
---
22. eLearning-Vorbereitung
eLearning wird nur vorbereitet.
Keine echte Abfrage implementieren.
eLearning gehört nur zu Onboarding.
Für Offboarding wird eLearning standardmäßig nicht angezeigt.
22.1 Daten
Es gibt Kurstitel.
22.2 Matrix
Matrix:
links Kurstitel
rechts Positionen als Checkboxen
optional „Alle Positionen“
Diese Matrix definiert, welche Kurse für welche Position Pflicht sind.
22.3 Spätere Funktion
Später soll beim Öffnen der Mitarbeiter-Checkliste geprüft werden, ob alle Pflichtkurse abgeschlossen sind.
Erst dann wird die eLearning-Aufgabe automatisch als erledigt markiert.
Aktuell:
nur Datenmodell
nur Oberfläche
nur Platzhalterlogik
keine Fake-Abfrage
keine externe Schnittstelle
---
23. Datenmodell
Mindestens benötigte Tabellenbereiche:
`users`
`employees`
`departments`
`positions`
`regions`
`checklist_templates`
`checklist_template_tasks`
`checklist_template_task_position_map`
`employee_checklists`
`employee_checklist_tasks`
`department_checklists`
`department_checklist_tasks`
`checklist_tokens`
`status_logs`
`audit_logs`
`mail_templates`
`mail_queue` oder `mail_log`
`settings`
`elearning_courses`
`elearning_course_position_map`
`generated_documents`
23.1 Wichtige Felder
Relevante Tabellen müssen `checklist_type` enthalten, mindestens:
`checklist_templates`
`checklist_template_tasks`
`employee_checklists`
`department_checklists`
`mail_templates`
Fristen/Settings
`audit_logs`
`generated_documents`
Außerdem:
```text
event_date
```
für Eintrittsdatum oder Austrittsdatum.
23.2 Statuswerte
Technische Statuswerte:
```text
open
in_progress
done
not_relevant
archived
disabled
```
Nicht jeder Status gilt überall.
Mitarbeiteraufgaben dürfen `not_relevant` nicht nutzen.
---
24. Sicherheit
24.1 Allgemein
Adminbereich nur mit Login
Tokenbereiche nur mit gültigem Token
PDO Prepared Statements
Passwort-Hashing mit `password_hash()`
Passwortprüfung mit `password_verify()`
CSRF-Schutz für alle Schreibaktionen
XSS-Schutz durch Escaping
Session-Schutz
zentrale Rollenprüfung
zentrale Rechteprüfung
keine Klartextpasswörter
keine SMTP-Passwortanzeige
keine sensiblen Dateien öffentlich
keine direkten Storage-Downloads ohne Prüfung
24.2 Token
Token müssen:
kryptografisch sicher sein
lang sein
serverseitig geprüft werden
deaktivierbar sein
nach Abschluss deaktiviert werden
Admin darf:
Token reaktivieren
Token neu erzeugen
---
25. Installation und Deployment
Es soll ein `install.sh` geben.
25.1 Ziel
Projekt nach `/var/www/s2-checkliste`
Apache VHost auf Port 8080
DocumentRoot `/var/www/s2-checkliste/public`
MariaDB-Datenbank anlegen
DB-User anlegen
`.env` schreiben
Composer installieren oder nutzen
Composer-Abhängigkeiten installieren
Schema importieren
Standard-Admin anlegen
Cronjob einrichten
Rechte setzen
Apache testen und neu laden
25.2 Caddy-Regel
Die Installation darf Caddy nicht:
stoppen
deaktivieren
verändern
Port 80 und 443 gehören Caddy.
Apache läuft nur intern auf Port 8080.
25.3 Standard-Admin
Standard:
```text
Benutzer: admin
Passwort: Admin1234!
```
Das Passwort muss gehasht gespeichert werden.
Wenn möglich:
```text
must_change_password = 1
```
25.4 Credentials-Datei
Zugangsdaten werden gespeichert unter:
```text
/root/s2-checkliste-credentials.txt
```
Berechtigung:
```text
600
```
25.5 Uninstall
Es muss möglich sein:
```bash
sudo bash install.sh --uninstall
```
Dabei werden entfernt:
Apache-Site
App-Verzeichnis
Datenbank
DB-User
Cronjob
Credentials-Datei
Mit Sicherheitsabfrage.
---
26. Oberfläche
26.1 Stil
schlicht
modern
intern nutzbar
keine übertriebene Gestaltung
deutsche Bezeichnungen
klare Status-Badges
Fortschrittsbalken
Tabellen mit Filtern
mobile Ansicht für Token-Checklisten gut nutzbar
Adminbereich desktop-optimiert
26.2 Easteregg
Im Footer des Adminbereichs steht klein und unaufdringlich:
```text
S2 Checkliste · geprüft von Personaltimo
```
Nicht in:
PDFs
Mails
Zertifikaten
Abschlussdokumenten
---
27. Funktionale Szenarien
27.1 Onboarding
Admin pflegt Fachbereiche, Positionen, Regionen und Aufgaben.
Benutzer legt Onboarding-Checkliste an.
Eintrittsdatum wird erfasst.
Benutzer prüft Angaben.
Benutzer bestätigt final.
System erzeugt Snapshots.
System erzeugt Fachbereichslinks.
System erzeugt Mitarbeiterlink.
Fachbereiche erhalten sofort E-Mail.
Mitarbeiter erhält E-Mail nach Versandregel.
Führungskraft erhält Mitarbeiterlink.
Fachbereich bearbeitet Aufgaben.
Fachbereich kann PDF-Protokoll herunterladen.
Mitarbeiter bearbeitet eigene Aufgaben.
Mitarbeiter sieht erledigte Fachbereichsaufgaben mit Datum.
Mitarbeiter sieht keine offenen oder nicht relevanten Fachbereichsaufgaben.
Mitarbeiter lädt Zertifikat herunter.
Mitarbeiterlink wird deaktiviert.
HR erhält Zertifikat per Mail.
Admin sieht alle Logs.
27.2 Offboarding
Admin oder Benutzer legt Offboarding-Checkliste an.
Austrittsdatum wird erfasst.
Offboarding-Vorlagen werden verwendet.
System erzeugt Snapshots.
Fachbereichslinks werden erzeugt.
Mitarbeiterlink wird erzeugt.
Fristen beziehen sich auf Austrittsdatum.
Mails beziehen sich auf Austrittsdatum.
Fachbereiche bearbeiten Aufgaben.
Mitarbeiter bearbeitet Aufgaben.
Mitarbeiter lädt Abschlussdokument herunter.
Mitarbeiterlink wird deaktiviert.
HR erhält Abschlussdokument per Mail.
Admin sieht alle Logs.
---
28. Nicht-Ziele
Das Tool soll nicht:
eine vollständige Personalakte ersetzen
HRworks live anbinden
DATEV anbinden
eLearning jetzt aktiv abfragen
externe APIs für eLearning simulieren
sensible Dateien öffentlich bereitstellen
Caddy verwalten
Port 80/443 für Apache beanspruchen
---
29. Kritische Qualitätsanforderungen
Besonders wichtig:
Snapshot-Logik muss korrekt sein.
Onboarding und Offboarding müssen sauber getrennt sein.
Token-Links dürfen keine fremden Daten zeigen.
Mitarbeiter dürfen keine offenen Fachbereichsaufgaben sehen.
Mitarbeiter dürfen keine Fachbereichskommentare sehen.
PDF-Downloads müssen geschützt sein.
Mailversand darf nicht mehrfach unkontrolliert senden.
Cron muss idempotent arbeiten.
Installation darf Caddy nicht anfassen.
`public/` muss der einzige Webroot sein.
Alles Relevante muss protokolliert werden.
Admin darf eingreifen, aber Eingriffe müssen nachvollziehbar bleiben.
---
30. Akzeptanzkriterien
Das Tool gilt als funktionsfähig, wenn folgende Punkte erfüllt sind:
Installation per `sudo bash install.sh` funktioniert.
Anwendung ist intern erreichbar unter `http://<server-ip>:8080/`.
Anwendung ist extern erreichbar unter `https://check.tbln-cloud.ddns.net`.
Login mit Standard-Admin funktioniert.
Admin kann Stammdaten pflegen.
Admin kann Onboarding-Vorlagen pflegen.
Admin kann Offboarding-Vorlagen pflegen.
Benutzer kann Onboarding-Fall anlegen.
Benutzer kann Offboarding-Fall anlegen.
Snapshot-Erstellung funktioniert.
Fachbereichslinks funktionieren.
Mitarbeiterlink funktioniert.
Fachbereich kann Status ändern und kommentieren.
Mitarbeiter kann eigene Aufgaben bearbeiten.
Mitarbeiter sieht nur erlaubte Fachbereichsinformationen.
PDF-Protokoll wird erzeugt.
Onboarding-Zertifikat wird erzeugt.
Offboarding-Abschlussdokument wird erzeugt.
HR-Mail mit Abschlussdokument funktioniert.
Cron versendet fällige Mails und Erinnerungen.
Dashboard zeigt Onboarding und Offboarding korrekt.
Auditlog und Statuslog sind nachvollziehbar.
Caddy wurde nicht verändert, gestoppt oder deaktiviert.
