Onboarding Modul
Zweck
Das Onboarding Modul bietet eine interaktive Einführung in TimeAM für neue Benutzer. Es führt schrittweise durch die wichtigsten Funktionen und hilft, die Anwendung schnell und effektiv zu nutzen.
Verantwortlichkeiten
Was gehört zum Modul
- Core-Onboarding: Einführung in grundlegende Funktionen (Dashboard, Kalender, Mitarbeiter)
- Modul-Onboardings: Spezifische Einführungen für einzelne Module
- Interaktive Tours: Schritt-für-Schritt-Anleitungen mit Overlays
- Progress-Tracking: Speicherung des Onboarding-Fortschritts
- Hilfe-Button (FAB): Floating Action Button für schnellen Zugriff auf Hilfe
Was gehört nicht zum Modul
- User-Support: Siehe Helpdesk-Modul
- Dokumentation: Siehe FAQ und Benutzerhandbücher
Implementierung
Backend- und Frontend-API sind modular aufgebaut; Details siehe interne Entwickler-Dokumentation.
Konfiguration
Entitlement
Das Onboarding-System ist für alle Benutzer verfügbar (Core-Funktionalität).
Kein Entitlement erforderlich – Verfügbar in allen Plänen.
Defaults
- Core-Onboarding: Startet automatisch bei Erstanmeldung
- Modul-Onboardings: Starten beim ersten Besuch der Modul-Seite
- FAB-Button: Immer sichtbar (kann minimiert werden)
API-Endpunkte
Alle Endpoints erfordern Authentifizierung.
Base URL: /api/onboarding
Onboarding-Status abrufen
GET /api/onboarding/status
Lädt den aktuellen Onboarding-Status des Benutzers.
Response:
{
"status": {
"coreCompleted": false,
"moduleCompleted": {
"time-tracking": true,
"shift-pool": false,
"projects": false
},
"fabDismissed": false,
"lastUpdated": "2026-01-04T10:30:00Z"
}
}
Core-Onboarding abschließen
POST /api/onboarding/complete/core
Markiert das Core-Onboarding als abgeschlossen.
Response:
{
"status": {
"coreCompleted": true,
"moduleCompleted": {},
"fabDismissed": false,
"lastUpdated": "2026-01-04T10:35:00Z"
}
}
Modul-Onboarding abschließen
POST /api/onboarding/complete/module/:moduleId
Markiert das Onboarding für ein spezifisches Modul als abgeschlossen.
URL-Parameter:
- moduleId: ID des Moduls (z.B. time-tracking, shift-pool)
Response:
{
"status": {
"coreCompleted": true,
"moduleCompleted": {
"time-tracking": true
},
"fabDismissed": false,
"lastUpdated": "2026-01-04T10:40:00Z"
}
}
Onboarding zurücksetzen
POST /api/onboarding/reset
Setzt Onboarding-Status zurück (zum erneuten Durchlaufen).
Request Body:
Response:
{
"status": {
"coreCompleted": false,
"moduleCompleted": {},
"fabDismissed": false,
"lastUpdated": "2026-01-04T10:45:00Z"
}
}
FAB-Button ausblenden
POST /api/onboarding/dismiss-fab
Markiert den Floating Action Button als ausgeblendet.
Response:
{
"status": {
"coreCompleted": true,
"moduleCompleted": {},
"fabDismissed": true,
"lastUpdated": "2026-01-04T10:50:00Z"
}
}
Status-Codes
- 200 OK: Erfolgreich
- 400 Bad Request: Ungültige Anfrage
- 401 Unauthorized: Nicht authentifiziert
- 404 Not Found: Modul nicht gefunden
- 500 Internal Server Error: Server-Fehler
Fehlercodes
VALIDATION_ERROR: Ungültiger Anfrage-BodyMODULE_NOT_FOUND: Modul-ID existiert nicht
Features
Core-Onboarding
Grundlegende Einführung für alle neuen Benutzer:
Abgedeckte Bereiche: 1. Dashboard: Übersicht und wichtigste Metriken 2. Kalender: Terminansicht und Navigation 3. Mitarbeiter: Team-Übersicht 4. Navigation: Menüstruktur und Module 5. Profil: Einstellungen und Benutzer-Profil
Ablauf: - Startet automatisch beim ersten Login - Interaktive Overlays mit Erklärungen - "Weiter"-Button zum Fortfahren - "Überspringen"-Option verfügbar - Progress-Anzeige (Schritt X von Y)
Modul-spezifische Onboardings
Jedes Modul kann ein eigenes Onboarding haben:
Verfügbare Module: - ⏱️ Zeiterfassung: Timer starten/stoppen, manuelle Eingabe - 📆 Schichtplanung: Schichten ansehen, bewerben, tauschen - 📁 Projekte: Projekt erstellen, Zeit buchen - 💰 Rechnungen: Rechnung erstellen, exportieren - 🎫 Helpdesk: Ticket erstellen, Status prüfen - 🎨 Branding: Custom Branding konfigurieren
Ablauf: - Startet beim ersten Besuch der Modul-Seite - Nur verfügbar, wenn Core-Onboarding abgeschlossen - Modul-spezifische Erklärungen - Praktische Beispiele
Floating Action Button (FAB)
Permanenter Hilfe-Button in der rechten unteren Ecke:
Features: - Immer verfügbar: Schneller Zugriff auf Hilfe - Menü-Optionen: - Support kontaktieren - Onboarding wiederholen - FAQ aufrufen - Abonnement verwalten (Admin/Manager) - Minimierbar: Kann ausgeblendet werden - Wiederaufrufbar: Jederzeit wieder einblendbar
Intelligentes Triggering
Onboardings starten automatisch zur richtigen Zeit:
- Core: Beim ersten Login
- Module: Beim ersten Besuch (nach Core-Completion)
- URL-Parameter: Manueller Start via ?onboarding=module-id
- Rollenbasiert: Unterschiedliche Inhalte für Admin/Manager/Mitarbeiter
Progress-Tracking
Vollständige Nachverfolgung des Fortschritts: - Welche Onboardings wurden abgeschlossen? - Wann wurde ein Onboarding zuletzt durchlaufen? - Kann jederzeit zurückgesetzt werden
Onboarding-Struktur
OnboardingStep-Format
Jeder Schritt hat folgende Eigenschaften:
interface OnboardingStep {
selector: string; // CSS-Selector des Elements
title: string; // Titel des Overlays
content: string; // Erklärungstext
position?: 'top' | 'bottom' | 'left' | 'right'; // Position des Overlays
action?: 'click' | 'hover'; // Erforderliche Aktion
}
Beispiel:
{
selector: '[data-tour="dashboard-stats"]',
title: 'Dashboard-Statistiken',
content: 'Hier sehen Sie die wichtigsten Kennzahlen auf einen Blick.',
position: 'bottom'
}
Onboarding-Registry
Zentrale Registrierung aller verfügbaren Onboardings:
interface OnboardingDefinition {
moduleId: string;
displayName: string;
route: string;
steps: OnboardingStep[];
requiredRole?: ('admin' | 'manager' | 'employee')[];
}
Beispiel:
{
moduleId: 'time-tracking',
displayName: 'Zeiterfassung',
route: '/time-tracking',
steps: [/* ... */],
requiredRole: ['admin', 'manager', 'employee']
}
Best Practices
Für Entwickler (Neues Onboarding erstellen)
- Selektoren verwenden: Nutzen Sie
data-tour="..."Attribute - Kurze Texte: Maximal 2-3 Sätze pro Schritt
- Logische Reihenfolge: Von wichtig zu unwichtig
- Testing: Testen Sie alle Schritte in verschiedenen Rollen
- Responsive Design: Onboarding muss auch mobil funktionieren
Für Benutzer
- Core-Onboarding: Nicht überspringen – spart später Zeit
- Modul-Onboardings: Kurze Einführungen, sehr hilfreich
- FAB-Button: Nutzen Sie ihn bei Fragen
- Wiederholen: Onboardings können jederzeit wiederholt werden
Für Administratoren
- Neue Mitarbeiter: Empfehlen Sie das Core-Onboarding
- Schulungen: Nutzen Sie Onboardings als Schulungs-Tool
- Feedback: Sammeln Sie Feedback zum Onboarding-Inhalt
Integration in neue Module
Um ein Onboarding für ein neues Modul zu erstellen:
- Schritte definieren: Liste der OnboardingSteps erstellen
- In Registry eintragen: OnboardingDefinition hinzufügen
- Data-Attribute:
data-tourzu relevanten Elementen hinzufügen - Testen: Onboarding im Modul durchlaufen
Troubleshooting
Onboarding startet nicht
- Lösung 1: Prüfen Sie, ob Core-Onboarding abgeschlossen ist
- Lösung 2: Laden Sie die Seite neu
- Lösung 3: Starten Sie manuell über FAB-Button
Schritte werden nicht angezeigt
- Lösung 1: Element ist nicht sichtbar/verfügbar
- Lösung 2: CSS-Selector stimmt nicht
- Lösung 3: Berechtigung fehlt für das Feature
FAB-Button fehlt
- Lösung 1: Wurde ausgeblendet – per URL-Parameter wieder einblenden
- Lösung 2: JavaScript-Fehler – Console prüfen
- Lösung 3: Ad-Blocker deaktivieren
FAQ
Kann ich das Onboarding überspringen?
Ja, jedes Onboarding kann übersprungen werden. Wir empfehlen jedoch, zumindest das Core-Onboarding durchzulaufen.
Kann ich Onboardings wiederholen?
Ja, über den FAB-Button oder die Einstellungen können Sie jedes Onboarding erneut starten.
Gibt es Onboardings für alle Module?
Die meisten Module haben ein Onboarding. Neue Module erhalten nach und nach Onboardings.
Kann ich als Admin Onboardings für Mitarbeiter zurücksetzen?
Nein, jeder Benutzer verwaltet seinen eigenen Onboarding-Status. Empfehlen Sie neuen Mitarbeitern, das Onboarding durchzulaufen.
Siehe auch
- FAQ – Häufig gestellte Fragen
- Helpdesk-Modul – Support-Ticket-System
- Dashboard-Modul – Übersichts-Dashboard