Dashboard Modul
Zweck
Das Dashboard Modul bietet eine zentrale Übersichtsseite mit Live-Kennzahlen, Widgets für Zeiterfassung, Schichten und Kalender. Es bietet Echtzeit-Updates, personalisierbare Widgets und schnellen Zugriff auf alle wichtigen Funktionen.
Verantwortlichkeiten
Was gehört zum Modul
- Dashboard-Ansicht: Zentrale Übersichtsseite
- Widgets: Verschiedene Widgets (Zeiterfassung, Schichten, Kalender, etc.)
- Live-Kennzahlen: Echtzeit-Updates von Statistiken
- Schnellzugriff: Schneller Zugriff auf wichtige Funktionen
- Personalisierung: Widgets können angepasst werden
Was gehört nicht zum Modul
- Daten-Erstellung: Daten werden von anderen Modulen bereitgestellt
- Detaillierte Ansichten: Siehe jeweilige Modul-Seiten
Implementierung
Backend- und Frontend-API sind modular aufgebaut; Details siehe interne Entwickler-Dokumentation.
Konfiguration
Entitlement
Das Modul ist ein Core-Modul und erfordert kein spezielles Entitlement. Es ist immer aktiv.
Entitlement-Key: Keiner (Core-Modul)
Environment Variables
Keine modulspezifischen ENV-Variablen erforderlich.
Defaults
- Standard-Widgets: Zeiterfassung, Schichten, Kalender
- Update-Intervall: 30 Sekunden (für Live-Updates)
Abhängigkeiten
Optionale Abhängigkeiten
- time-tracking: Für Zeiterfassungs-Widgets
- shift-pool: Für Schicht-Widgets
- calendar-core: Für Kalender-Widgets
- reports: Für Statistik-Widgets
Core-Abhängigkeiten
Keine.
API-Endpoints
Authentifizierung
Alle Endpoints erfordern Authentifizierung. Zwei Methoden werden unterstützt:
- Firebase ID Token (Standard für Web-App)
- API-Token (für externe Nutzung)
Header: Authorization: Bearer <token>
Dashboard-Statistiken abrufen
GET /api/dashboard/stats
Lädt Dashboard-Statistiken.
Response:
{
"timeTracking": {
"todayMinutes": 240,
"weekHours": 35.5,
"monthHours": 140
},
"shifts": {
"upcoming": 5,
"pendingApplications": 3
},
"notifications": {
"unreadCount": 5
}
}
Wird dokumentiert: Detaillierte API-Endpunkt-Dokumentation folgt.
Firestore Collections
Das Dashboard Modul verwendet keine eigenen Collections. Es aggregiert Daten aus anderen Modulen.
Wird dokumentiert: Detaillierte Datenbank-Struktur folgt.
Fehlerfälle
HTTP-Status-Codes
- 200 OK: Erfolgreich
- 401 Unauthorized: Nicht authentifiziert
- 403 Forbidden: Keine Berechtigung
- 500 Internal Server Error: Server-Fehler
Fehlercodes
Wird dokumentiert: Detaillierte Fehlercodes folgen.
FAQ / Troubleshooting
Wird dokumentiert: Häufige Fragen und Lösungen folgen.