2025-03-12 12:33:05 +01:00

4.6 KiB
Executable File

Detaillierte Dokumentation des Admin-Dashboards

In diesem Abschnitt werde ich die Funktionen und Nutzung des Admin-Dashboards genauer beschreiben, einschließlich der verschiedenen Module, Diagramme und deren Zweck.


1. Überblick über das Admin-Dashboard

Das Admin-Dashboard ist der zentrale Verwaltungsbereich für Administratoren. Es bietet Funktionen wie die Verwaltung von Druckern, Benutzern und Druckaufträgen sowie detaillierte Statistiken und Analysen.

1.1. Navigation

Das Dashboard enthält ein Sidebar-Menü mit den folgenden Hauptbereichen:

  1. Dashboard: Übersicht der wichtigsten Statistiken.
  2. Benutzer: Verwaltung von Benutzerkonten.
  3. Drucker: Hinzufügen, Bearbeiten und Verwalten von Druckern.
  4. Druckaufträge: Einsicht in alle Druckaufträge und deren Status.
  5. Einstellungen: Konfiguration der Anwendung.
  6. Über MYP: Informationen über das Projekt und den Entwickler.

Die Sidebar wird in der Datei src/app/admin/admin-sidebar.tsx definiert und dynamisch basierend auf der aktuellen Seite hervorgehoben.


2. Funktionen des Admin-Dashboards

2.1. Benutzerverwaltung

  • Datei: src/app/admin/users/page.tsx
  • Beschreibung: Ermöglicht das Anzeigen, Bearbeiten und Löschen von Benutzerkonten.
  • Funktionen:
    • Anzeige einer Liste aller registrierten Benutzer.
    • Bearbeiten von Benutzerrollen (z. B. „admin“ oder „user“).
    • Deaktivieren oder Löschen von Benutzerkonten.

2.2. Druckerverwaltung

  • Datei: src/app/admin/printers/page.tsx
  • Beschreibung: Verwaltung der Drucker, einschließlich Hinzufügen, Bearbeiten und Deaktivieren.
  • Funktionen:
    • Statusanzeige der Drucker (aktiv/inaktiv).
    • Hinzufügen neuer Drucker mit Namen und Beschreibung.
    • Löschen oder Bearbeiten bestehender Drucker.

2.3. Druckaufträge

  • Datei: src/app/admin/jobs/page.tsx
  • Beschreibung: Übersicht aller Druckaufträge, einschließlich Details wie Startzeit, Dauer und Status.
  • Funktionen:
    • Filtern nach Benutzern, Druckern oder Status (abgeschlossen, abgebrochen).
    • Anzeigen von Abbruchgründen und Fehlermeldungen.
    • Sortieren nach Zeit oder Benutzer.

2.4. Einstellungen

  • Datei: src/app/admin/settings/page.tsx
  • Beschreibung: Konfigurationsseite für die Anwendung.
  • Funktionen:
    • Ändern von globalen Einstellungen wie Standardzeiten oder Fehlerrichtlinien.
    • Download von Daten (z. B. Export der Druckhistorie).

3. Statistiken und Diagramme

Das Admin-Dashboard enthält interaktive Diagramme, die wichtige Statistiken visualisieren. Hier einige der zentralen Diagramme:

3.1. Abbruchgründe

  • Datei: src/app/admin/charts/printer-error-chart.tsx
  • Beschreibung: Zeigt die Häufigkeit der Abbruchgründe für Druckaufträge in einem Balkendiagramm.
  • Nutzen: Identifiziert häufige Probleme wie Materialmangel oder Düsenverstopfungen.

3.2. Fehlerraten

  • Datei: src/app/admin/charts/printer-error-rate.tsx
  • Beschreibung: Zeigt die prozentuale Fehlerrate für jeden Drucker in einem Balkendiagramm.
  • Nutzen: Ermöglicht die Überwachung und Identifizierung von problematischen Druckern.

3.3. Druckvolumen

  • Datei: src/app/admin/charts/printer-volume.tsx
  • Beschreibung: Zeigt das Druckvolumen für heute, diese Woche und diesen Monat.
  • Nutzen: Vergleich des Druckeroutputs über verschiedene Zeiträume.

3.4. Prognostizierte Nutzung

  • Datei: src/app/admin/charts/printer-forecast.tsx
  • Beschreibung: Ein Bereichsdiagramm zeigt die erwartete Druckernutzung pro Wochentag.
  • Nutzen: Hilft bei der Planung von Wartungsarbeiten oder Ressourcenzuweisungen.

3.5. Druckerauslastung

  • Datei: src/app/admin/charts/printer-utilization.tsx
  • Beschreibung: Zeigt die aktuelle Nutzung eines Druckers in Prozent in einem Kreisdiagramm.
  • Nutzen: Überwacht die Auslastung und identifiziert ungenutzte Ressourcen.

4. Rollenbasierte Zugriffssteuerung

Das Admin-Dashboard ist nur für Benutzer mit der Rolle „admin“ zugänglich. Nicht berechtigte Benutzer werden auf die Startseite umgeleitet. Die Zugriffssteuerung erfolgt durch folgende Logik:

  • Datei: src/app/admin/layout.tsx
  • Funktion: validateRequest prüft die Rolle des aktuellen Benutzers.
  • Umleitung: Falls die Rolle unzureichend ist, wird der Benutzer automatisch umgeleitet:
    if (guard(user, IS_NOT, UserRole.ADMIN)) {
      redirect("/");
    }
    

Nächster Schritt: => API-Endpunkte und deren Nutzung