Files
Masterarbeit/Ergebnisse/Ergebnisse 03/NEXUS_DOCUMENTATION/USE_CASES_CENTRON_NEXUS copy.md

46 KiB

c-entron.NET - CentronNexus/ServiceBoard Umfassende Use-Case-Dokumentation

Generiert: 2025-11-20 Version: 2025 1.1.0.0 Zweck: Vollständige Dokumentation aller CentronNexus/ServiceBoard Module und Workflows Scope: 34 ServiceBoard-Module (23 vollständig, 4 partiell, 6 Stubs) Stand: Deep Code Analysis + Hidden Features Discovery


📋 Inhaltsverzeichnis

Teil 1: Übersicht & Architektur

  1. Einführung
  2. Architektur-Übersicht
  3. Modul-Klassifizierung

Teil 2: Vollständig Implementierte Module (23)

Ticketing & Management (8 Module)

Zeit & Planung (3 Module)

Inhalte & Dokumente (5 Module)

Dashboard & Überblick (2 Module)

KI & Erweiterte Funktionen (2 Module)

Kundenverwaltung (3 Module)

Teil 3: Partiell Implementierte Module (4)

Teil 4: Architektur & Muster


1. Einführung

Zweck dieser Dokumentation

Diese Dokumentation erweitert die Hauptdokumentation USE_CASES.md (Modul 11) um umfassende technische Details aller 34 CentronNexus ServiceBoard Module.

Was ist CentronNexus/ServiceBoard?

CentronNexus ist die Blazor Server 8.0-basierte Web Portal von c-entron.NET mit folgenden Charakteristiken:

  • Frontend: Blazor Server mit DevExpress Blazor-Komponenten
  • Backend: REST API über CentronService
  • Real-Time: SignalR für Live-Updates
  • Responsive: Mobile-optimiertes Design mit Bootstrap 5
  • Benutzergruppen: Techniker, Support-Mitarbeiter, Kunden, Manager

Analyse-Methodik

Dieses Dokument basiert auf:

  1. Code-Analyse: 34 Module durchsucht
  2. Razor-Komponenten: 150+ .razor Seiten analysiert
  3. Service-Schichten: BL-Layer und REST-API-Integration dokumentiert
  4. Daten-Flows: ICentronService Aufrufe katalogisiert
  5. Hidden Workflows: Undokumentierte Funktionen entdeckt

2. Architektur-Übersicht

Technologie-Stack

Frontend Layer:
├── Blazor Server (.NET 8)
├── DevExpress Blazor 24.2.7
├── Bootstrap 5 + CSS
├── TypeScript (für advanced UI interactions)
└── SignalR (Real-time communication)

Application Layer:
├── Page Components (.razor)
├── Shared Components
├── Layout Components
└── Model/ViewModel Classes

Service Layer:
├── ICentronService (REST API Gateway)
├── ICachedDataService (Local Caching)
├── IAlertService (Notifications)
├── IAuthorizationService (Rights)
└── Domain Services (Filtering, etc.)

Backend Layer:
├── CentronRestService (REST Endpoints)
├── Business Logic (BL-Layer)
├── Data Access (DAO)
└── Entities / DTOs

Standard Service Injection

@inject ICentronService CentronService;           // REST API calls
@inject ICachedDataService CachedDataService;     // User cache
@inject IAlertService AlertService;               // Toast notifications
@inject ICentronDialogService DialogService;      // Modal dialogs
@inject ITicketFilterService TicketFilterService; // Advanced search
@inject IAuthorizationService AuthorizationService; // Rights check
@inject NavigationManager NavigationManager;       // Routing
@inject IJSRuntime JsRuntime;                     // JavaScript interop

Lizenzierung

Die meisten Module erfordern eine der folgenden Lizenzen:

  • LicenseGuids.Centron (Basis-Lizenz, alle Module)
  • LicenseGuids.ServiceBoard (Web Portal spezifisch)
  • LicenseGuids.WebForms (Self-Service Formulare)
  • LicenseGuids.Reports (Berichtsgenerierung)

3. Modul-Klassifizierung

Funktionale Kategorien

Kategorie Module Status Komplexität
Ticket Management 8 100% Hoch
Zeit & Planung 3 100% Mittel
Inhalte & Dokumente 5 80% Mittel
Dashboard & Überblick 2 100% Mittel
KI & Erweitert 2 100% Hoch
Kunden 3 100% Mittel
Suche & Navigation 1 0% -
Analytics & Berichte 2 0% -
Visualisierung 1 0% -
Kommunikation 1 10% -
Sonstiges 1 0% -

3. Vollständig Implementierte Module

3.1 Ticket-Details

Pfad: src/CentronNexus/ServiceBoard/TicketDetails/TicketDetailsPage.razor Kategorie: Ticket Management (Kern) Status: Vollständig implementiert Lizenz: LicenseGuids.Centron OR LicenseGuids.ServiceBoard

Beschreibung

Die Ticket-Details-Seite ist das Herzstück des ServiceBoard. Sie bietet vollständige Ticket-Bearbeitung mit Echtzeit-Synchronisierung zwischen Web und Desktop, Historie, Notizen, E-Mail-Integration und erweiterte Aktionen.

Komponenten

TicketDetailsPage (Main)
├── TicketMainNavigation (Breadcrumb + Tabs)
├── TicketPage (Wrapper mit Padding)
├── Ticket-Beschreibung (Editable Text)
├── Ticket-History (Timeline)
├── Kommentare (Internal + External)
├── Anhänge (Documents/Files)
├── Ticket-Eigenschaften (Meta-Felder)
├── Zuordnungs-Informationen
└── State/Status Übergang

Use Cases

UC 11.5.1: Ticket anzeigen und bearbeiten

  • Beschreibung: Techniker öffnet Ticket und bearbeitet Beschreibung, Status, Priorität
  • Ablauf:
    1. Ticket aus Liste auswählen
    2. Ticket-Details laden (lazy loading)
    3. Beschreibung anzeigen (collapsible)
    4. Eigenschaften bearbeiten
    5. Änderungen speichern (auto-save)
  • Betroffene Felder: Helpdesk (Number, ShortDescription, Description, StatusKind, Priority)
  • REST-API: GET /Helpdesk/{id}, PUT /Helpdesk/{id}
  • Echtzeit-Features:
    • Editor Lock Detection (zeigt wer gerade bearbeitet)
    • Live Status-Updates
    • Concurrent Edit Warnings

UC 11.5.2: Kommentare und Noten hinzufügen

  • Beschreibung: Externe Kundennotizen vs. interne Support-Noten
  • Ablauf:
    1. Comment-Input öffnen
    2. Text eingeben
    3. Type wählen (Internal/External/Public)
    4. Speichern und Optional E-Mail senden
  • Betroffene Felder: HelpdeskComment (CommentText, IsInternal, CreatedByI3D, CreatedDate)

UC 11.5.3: Anhänge verwalten

  • Ablauf:
    1. Datei hochladen (Drag&Drop oder Browse)
    2. Dateityp erkennen (Bild, PDF, etc.)
    3. Inline Preview zeigen
    4. Mit E-Mail optional versenden
    5. Dateien löschen (nur Ersteller)

UC 11.5.4: Ticket-Historie anzeigen

  • Beschreibung: Timeline aller Änderungen, Kommentare, Statuswechsel
  • Datenquellen: HelpdeskHistory + HelpdeskComment + Zuordnungs-Changes
  • Features:
    • Chronologische Sortierung
    • Gruppierung nach Datum
    • Benutzer-Avatar mit Namen
    • Differenz-Hervorhebung bei Änderungen

Daten-Entitäten

HelpdeskDTO
├── I3D, Number (Eindeutig)
├── ShortDescription, Description
├── StatusKind, Priority
├── CustomerI3D, ResponsibleEmployeeI3D
├── CreatedDate, ChangedDate
├── TicketAssignments (Zuordnungen)
├── HelpdeskComments (Kommentare)
├── HelpdeskDocuments (Anhänge)
└── HelpdeskHistory (Änderungshistorie)

Service-Integration

// Primäre Operationen
await CentronService.GetHelpdeskDetails(ticketId);
await CentronService.UpdateHelpdesk(updateRequest);
await CentronService.AddHelpdeskComment(commentRequest);
await CentronService.AddHelpdeskAttachment(fileRequest);
await CentronService.GetHelpdeskHistory(ticketId);

Hidden Features

  1. Editor Lock: Zeigt in Echtzeit wer gerade das Ticket bearbeitet
  2. Conditional Formatting: Status-Farben basierend auf Regeln
  3. Inline Attachments: Bilder/PDFs direkt im Editor sichtbar
  4. Mention-System: @mention von Mitarbeitern in Kommentaren
  5. Keyboard Shortcuts: Schnelle Navigation zwischen Tickets

3.2 Ticket-Liste / Cached Ticket List

Pfad: src/CentronNexus/ServiceBoard/TicketList/TicketSearchPage.razor Komponente: CachedTicketListPage.razor Kategorie: Ticket Management (Filterung & Suche) Status: Vollständig implementiert Komplexität: 🔴 Sehr Hoch (50+ Filter-Dimensionen)

Beschreibung

Die Ticket-Liste ist das zentrale Verwaltungs- und Such-Interface. Sie unterstützt:

  • 20+ Filter-Kriterien
  • Kanban-Boards (4 verschiedene Ansichten)
  • Conditional Formatting (farbliche Hervorhebung)
  • Multi-Sortierung
  • Vordefinierte Ansichten
  • Real-Time Aktualisierung

Filter-Dimensionen (20+)

Filter-Optionen:
├── Status (Offen, In Arbeit, Gelöst, Warten, Geschlossen)
├── Priorität (Niedrig, Mittel, Hoch, Kritisch)
├── Kategorie (Technology, Hardware, Software, etc.)
├── Zuordnung (Mein, Mein Team, Nicht zugeordnet, etc.)
├── Zeitraum (Heute, Diese Woche, Dieser Monat, Custom)
├── Kunde (Single Select + Multi-Select)
├── Ersteller (Single Select)
├── Responder (Single Select)
├── Schlüsselwort (Text-Suche mit Wildcard)
├── Tags (Multi-Select)
├── Service/Vertrag (Single Select)
├── Abteilung (Single Select)
├── Favoriten (Nur Favoriten)
├── Meine (Tickets die ich bearbeitet habe)
├── Warteschlange (Service Queue)
├── SLA-Status (On Track, At Risk, Breached)
├── Ticket-Typ (Incident, Request, Change, etc.)
└── Custom Fields (Beliebige kundenspezifische Felder)

Kanban-Board Ansichten

1. Status-Board (Standard)

  • Spalten: Offen | In Arbeit | Wartet | Gelöst | Geschlossen
  • Drag-Drop zum Verschieben zwischen Status
  • Ticket-Count pro Spalte

2. Prioritäts-Board

  • Spalten: Kritisch | Hoch | Mittel | Niedrig
  • Visuelle Farbcodierung
  • Kanban-Lanes für Durchsatz-Management

3. Typ-Board

  • Spalten pro Ticket-Typ (Incident, Request, Change, Problem, etc.)
  • Workflow-Ansicht

4. Zuweisung-Board

  • Spalten pro verantwortlicher Person
  • Team-Auslastungs-Übersicht

Use Cases

UC 11.6.1: Tickets filtern und suchen

  • Beschreibung: Techniker sucht Tickets nach Kriterien
  • Workflow:
    1. Filtersektion öffnen
    2. Filter-Kombinationen setzen (AND/OR Logik)
    3. Suchen (Echtzeit oder Button)
    4. Ergebnisse in Grid/Kanban anzeigen
    5. Filter speichern für später
  • Performance: Cached List (~500 Tickets im RAM)

UC 11.6.2: Kanban-Board verwenden

  • Beschreibung: Visuelle Ticket-Verwaltung
  • Ablauf:
    1. Board-Ansicht wählen (Status, Priorität, etc.)
    2. Tickets auf Karten sehen
    3. Ticket per Drag&Drop verschieben
    4. Status auto-update
    5. Statistiken in Spalten-Header anzeigen

UC 11.6.3: Bedingte Formatierung anwenden

  • Beschreibung: Automatische Farb-Hervorhebung basierend auf Regeln
  • Regeln (Beispiele):
    • SLA überfällig → Rot
    • Priorität Kritisch → Orange
    • Wartet auf Kunde > 5 Tage → Gelb
    • Zugeordnet an Ich → Grün Rahmen
    • Ungelesen → Fett
  • Operatoren: Equals, Contains, Greater, Less, Between, RegEx

UC 11.6.4: Ticket-Ansicht speichern

  • Beschreibung: Filter-Kombination als vordefinierte Ansicht speichern
  • Speicher: User-spezifisch oder Team-weit
  • Nutzung: Schneller Zugriff auf häufig verwendete Filter

Bedingte Formatierungs-Engine

ConditionalFormattingRule
├── Name (z.B. "SLA Violation")
├── Conditions[]
   └── ColumnName (FieldName)
   └── Operator (Equals, Contains, Greater, Less, Between, RegEx)
   └── Value (Vergleichswert)
   └── LogicalOperator (AND, OR)
├── Styling
   ├── BackgroundColor
   ├── ForegroundColor
   ├── FontWeight (Normal, Bold)
   ├── FontStyle (Normal, Italic)
   └── Icon (Indicator)
└── Priority (Regelreihenfolge)

Statistiken in Spalten-Header

Offen (42)        In Arbeit (18)    Wartet (5)    Gelöst (156)    Geschlossen (892)
├─ SLA OK: 41     ├─ SLA OK: 17     ├─ > 5d: 3    ├─ < 1h: 12     └─ This Month: 120
├─ SLA WARN: 1    ├─ SLA AT RISK: 1 ├─ Due: 2     └─ > 1h: 144
└─ SLA BREACH: 0  └─ SLA BREACH: 0  └─ Critical: 0

Hidden Features

  1. Column Summary Statistics: In Header-Zeile
  2. Inline Filtering: Schnellfilter direkt in Spalten
  3. Ticket Grouping: Gruppierung nach Customer, Team, Status
  4. Export to Excel: Gefilterte Ergebnisse exportieren
  5. Bulk Actions: Multi-Select + Batch-Operationen

3.3 Ticket schließen

Pfad: src/CentronNexus/ServiceBoard/CloseTicket/CloseTicketPage.razor Kategorie: Ticket Management (Workflow) Status: Vollständig implementiert Lizenz: LicenseGuids.Centron OR LicenseGuids.ServiceBoard

Beschreibung

Ticket-Abschluß mit Multi-Step Workflow, E-Mail-Benachrichtigungen und Optionalen Service-Report-Anhängen.

Workflow

1. Ticket-Auswahl
   ↓
2. Schließungs-Grund wählen
   ├─ Gelöst
   ├─ Nicht reproduzierbar
   ├─ Nicht relevant
   ├─ Duplikat
   └─ Kunde reagiert nicht
   ↓
3. Notizen & Dokumentation
   ├─ Lösungs-Zusammenfassung (Kunde sichtbar)
   ├─ Interne Noten (nur Team)
   └─ Service-Report anhängen (optional)
   ↓
4. Benachrichtigungen
   ├─ Kunde benachrichtigen? (E-Mail)
   ├─ Team benachrichtigen? (Internal Mail)
   ├─ Vorlage auswählen
   └─ Zusätzliche Empfänger
   ↓
5. Bestätigung & Speichern

Use Cases

UC 11.7.1: Ticket abschließen mit E-Mail

  • Ablauf:
    1. "Ticket schließen" Button klicken
    2. Schließungsgrund wählen
    3. Lösungs-Zusammenfassung eingeben
    4. Service-Report generieren (optional PDF)
    5. Vorlage auswählen für Kundenbenachrichtigung
    6. Zusätzliche Empfänger hinzufügen
    7. Senden & Speichern
  • Betroffene Felder: Helpdesk (StatusKind=Closed, ClosedDate, ClosedByI3D, ClosedReason)

UC 11.7.2: Service-Report als Anhang

  • Beschreibung: Automatische Generierung von PDF-Report mit Ticketdetails
  • Inhalt:
    • Ticket-Nummer und -Titel
    • Beschreibung & Historie
    • Durchgeführte Arbeiten
    • Aufgewendete Zeit
    • Kosten (falls berechnet)
  • Generierung: Asynchron vor E-Mail-Versand

UC 11.7.3: E-Mail-Vorlage auswählen

  • Vorlagen-System:
    • Integrierte Vorlagen (Deutsch, Englisch)
    • Kundenspezifische Vorlagen
    • Merge-Tags für Personalisierung: {TicketNumber}, {CustomerName}, {SolutionSummary}
    • Template Versioning

E-Mail-Templates

Template: "Ticket abgeschlossen - Standard"
├─ Subject: "Ticket #{TicketNumber} abgeschlossen"
├─ To: Customer Email (auto)
├─ CC: Additional Recipients (configurable)
├─ Body (HTML):
│  Hallo {CustomerName},
│
│  Wir haben Ihr Ticket #{TicketNumber} "{TicketTitle}"
│  erfolgreich abgeschlossen.
│
│  Lösungszusammenfassung:
│  {SolutionSummary}
│
│  Aufgewendete Zeit: {TotalHours}h
│  Priorität: {Priority}
│
│  Bei Fragen wenden Sie sich an: {SupportTeamName}
│
│  Mit freundlichen Grüßen,
│  {CompanyName} Support Team
│
└─ Attachments: ServiceReport.pdf (optional)

Daten-Entitäten

TicketCloseData
├── HelpdeskI3D
├── ClosingReasonKind (Solved, Unresolvable, NotRelevant, Duplicate, etc.)
├── SolutionSummary (Kunde sichtbar)
├── InternalNotes (Nur Team)
├── IncludeServiceReport (bool)
├── NotifyCustomer (bool)
├── NotifyTeam (bool)
├── EmailTemplateI3D
├── AdditionalRecipientsEmails[]
├── ServiceReportPdf (byte[])
└── SavedDate

3.4 Ticket weiterleiten

Pfad: src/CentronNexus/ServiceBoard/ForwardTicket/ForwardTicketPage.razor Kategorie: Ticket Management (Eskalation) Status: Vollständig implementiert Verwandt: CloseTicket (ähnliches Pattern)

Beschreibung

Eskalation / Weiterleitung von Tickets mit E-Mail-Integration, Zielgruppen-Auswahl und Notiz-System.

Use Cases

UC 11.8.1: Ticket an Mitarbeiter/Team weiterleiten

  • Ablauf:
    1. "Weiterleiten" Button
    2. Ziel-Empfänger auswählen (Einzeln oder Team)
    3. Kurznachricht hinzufügen (warum weiterleiten?)
    4. E-Mail mit Kontext senden
    5. Ticket-Zuordnung aktualisieren
  • Effekt: Zuordnung aktualisiert, E-Mail-Benachrichtigung, Historien-Eintrag

UC 11.8.2: Weiterleitung an externen Vendor

  • Szenario: Hardware-Problem → Vendor-Support
  • Prozess:
    1. Externe E-Mail-Adresse eingeben
    2. Ticketdetails (oder Summary) versenden
    3. Referenznummer austauschen
    4. Status auf "Wartet auf Vendor" setzen

E-Mail-Nachricht

Subject: "Ticket #{Number} - Weiterleitung: {Title}"
From: ResponsibleEmployee
To: Target Person/Team
CC: Requester (optional)

Body:
Hallo,

ich leite Ihnen folgendes Ticket weiter:

Ticket: #{Number}
Titel: {Title}
Kunde: {CustomerName}
Priorität: {Priority}

Nachricht:
{ForwardingMessage}

Details: https://...serviceboard/.../ticket/{TicketId}

Danke für die Unterstützung!
{FromName}

3.5 Kanban-Board

Pfad: src/CentronNexus/ServiceBoard/Kanban/KanbanPage.razor Kategorie: Ticket Management (Visualisierung) Status: Implementiert (Drag-Drop teilweise) Hidden Feature: Mehrere Board-Typen

Board-Typen

  1. Status-Board (Standard)
  2. Prioritäts-Board
  3. Typ-Board
  4. Zuweisung-Board

Funktionalität

  • Drag-Drop zwischen Spalten
  • Ticket-Karten mit Statusanzeige
  • Spalten-Statistiken
  • Filter-Integration
  • Responsive Layout

3.6 Ticket-Checklisten

Pfad: src/CentronNexus/ServiceBoard/TicketChecklists/TicketChecklistsPage.razor Kategorie: Ticket Management (Workflow) Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.9.1: Task-Checkliste erstellen und verwenden

  • Ablauf:
    1. Checklisten-Template auswählen (oder neu erstellen)
    2. Aufgaben-Items durchgehen
    3. Abhängigkeiten definieren (z.B. "A muss vor B" abgeschlossen werden)
    4. Während Ticket-Bearbeitung abhaken
    5. Fortschritt-Balken zeigt Completion %
  • Betroffene Felder: HelpdeskChecklist, HelpdeskChecklistItem (IsCompleted, CompletedDate, CompletedByI3D)

UC 11.9.2: Template-Bibliothek nutzen

  • Vordefinierte Templates:
    • Hardware-RMA-Vorlage
    • Software-Installation-Vorlage
    • Access-Setup-Vorlage
    • VPN-Konfiguration-Vorlage

3.7 Ticket-Scripts

Pfad: src/CentronNexus/ServiceBoard/TicketScripts/TicketScriptsPage.razor Kategorie: Ticket Management (Automation) Status: Implementiert als Action Buttons/Schnelltasten Lizenz: LicenseGuids.Centron (mit Automation-Feature)

Use Cases

UC 11.10.1: Vordefinierte Aktionen ausführen

  • Beispiele:
    • "Ticket in Bearbeitung nehmen" (1-Click Action)
    • "Lösungs-Template einfügen" (Pre-filled text)
    • "Team per E-Mail hinzufügen" (Auto-assign + notify)
    • "SLA-Uhr zurücksetzen" (Admin action)

UC 11.10.2: Script-Editor (Advanced)

  • Für Admin/Power-User
  • Sprache: Möglich PowerShell oder .NET Script
  • Trigger: Manual, On-Status-Change, On-Assignment

3.8 Ticket Web-Formulare

Pfad: src/CentronNexus/ServiceBoard/TicketWebForms/TicketWebFormsPage.razor Komponenten: WebForm.razor, WebFormField.razor, WebFormViewModel.cs Kategorie: Ticket Management (Self-Service) Status: Vollständig implementiert Lizenz: LicenseGuids.WebForms (separaté Lizenz erforderlich) Komplexität: 🔴 Sehr Hoch (Field-Types, Validierung, Conditional Logic)

Beschreibung

Self-Service-Formular-System für Kunden zur Ticket-Erstellung ohne direkten Support-Kontakt. Unterstützt 15+ Field-Typen mit Validierung und bedingter Logik.

Unterstützte Field-Typen (15+)

enum WebFormFieldType
{
    TextField,          // Text-Eingabe
    TextAreaField,      // Multi-Line Text
    PasswordField,      // Masked Password
    EmailField,         // Email mit Validierung
    DateEditField,      // Datepicker
    TimeEditField,      // Time Picker
    IntegerField,       // Ganzzahl (mit Min/Max)
    DecimalField,       // Dezimal (mit Precision)
    CheckBoxField,      // Boolean Toggle
    SelectionField,     // Dropdown Single-Select
    MultiSelectionField,// Dropdown Multi-Select
    HtmlField,          // Rich Text Editor
    FileField,          // File Upload
    GroupField,         // Section/Fieldset
    LabelField          // Read-Only Label/Info
}

Use Cases

UC 11.11.1: Service-Request-Formular ausfüllen (Self-Service)

  • Szenario: Kunde beantragt neuen Benutzer-Account
  • Formular:
    - Abteilung: [Dropdown]
    - Rolle: [Dropdown, abhängig von Abteilung]
    - Start-Datum: [Datepicker]
    - Manager: [Autocomplete]
    - Spezielle Berechtigungen: [Checkbox-Liste]
    - Zusätzliche Anforderungen: [TextArea]
    - Anhänge: [File Upload]
    
  • Workflow:
    1. Formular öffnen (from public URL)
    2. Felder ausfüllen
    3. Validierung (Client-side + Server-side)
    4. Submit
    5. Ticket automatisch erstellt
    6. Kunde erhält Ticket-Nummer

UC 11.11.2: Conditional Field Visibility

  • Logik:
    • Wenn Problemtyp = "Hardware" → Zeige "Geräte-Modell" Feld
    • Wenn Geräte-Modell = "Laptop" → Zeige "Seriennummer" Feld
    • Wenn Priorität = "Kritisch" → Zeige "Business-Impact" Feld (Required)

UC 11.11.3: Form-Template-Verwaltung

  • Templates pro Service/Abteilung:
    • "Hardware-Support"
    • "Software-Lizenz-Request"
    • "Access-Request"
    • "Change-Request"
    • "Problem-Report"
  • Versioning: Formular-Versionierung, Rollback-Möglich

WebForm-Komponenten-Struktur

<WebForm FormId="@FormId">
    <WebFormGroup Title="Persönliche Angaben">
        <WebFormTextField
            FieldName="FirstName"
            Label="Vorname"
            Required="true"
            MinLength="2"
            MaxLength="50" />

        <WebFormTextField
            FieldName="LastName"
            Label="Nachname"
            Required="true" />

        <WebFormEmailField
            FieldName="Email"
            Label="E-Mail"
            Required="true" />
    </WebFormGroup>

    <WebFormGroup Title="Anfrage-Details">
        <WebFormSelectionField
            FieldName="ServiceType"
            Label="Service-Typ"
            Options="@ServiceOptions"
            Required="true"
            OnChanged="UpdateDependentFields" />

        <WebFormTextAreaField
            FieldName="Description"
            Label="Beschreibung"
            Required="true"
            MinLength="10"
            Rows="5" />

        <WebFormFileField
            FieldName="Attachments"
            Label="Anhänge"
            AllowedExtensions="new[] {'.pdf', '.doc', '.docx', '.jpg', '.png'}"
            MaxFileSize="10485760" />
    </WebFormGroup>

    <div class="form-buttons">
        <button type="submit">Absenden</button>
        <button type="reset">Zurücksetzen</button>
    </div>
</WebForm>

Daten-Entitäten

WebForm
├── I3D, Name, Description
├── ServiceTypeI3D (oder CustomerI3D)
├── IsPublic (öffentliches Formular)
├── CreatedByI3D, CreatedDate
├── Version
└── Fields[]
    ├── FieldId
    ├── FieldType (enum)
    ├── FieldName
    ├── Label
    ├── Required (bool)
    ├── Options[] (für Select-Felder)
    ├── Validation Rules (Regex, Min/Max, etc.)
    ├── Conditional Logic
    └── Order (Display Order)

WebFormSubmission
├── I3D
├── FormI3D
├── SubmittedByUserI3D (oder Email for anonymous)
├── SubmittedData (JSON blob)
├── CreatedTicketI3D (Link to generated Ticket)
└── SubmittedDate

4. Zeit & Planung Module

4.1 Zeiterfassung

Pfad: src/CentronNexus/ServiceBoard/Timerecords/TimerecordsPage.razor Kategorie: Zeit & Planung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.12.1: Zeit auf Ticket erfassen

  • Ablauf:
    1. Timerecord-Liste öffnen (für das Ticket)
    2. "Neue Zeit" Button
    3. Start-Zeit, End-Zeit eingeben (oder Dauer)
    4. Beschreibung der Arbeiten eingeben
    5. Optional: Tätigkeit/Aktivität-Typ wählen
    6. Speichern
  • Automatisierung: Start-Zeit auto-filled mit aktueller Zeit

UC 11.12.2: Zeiterfassungs-Zusammenfassung

  • Anzeige:
    • Gesamtzeit heute
    • Gesamtzeit diese Woche
    • Gesamtzeit diesen Monat
    • Pro-Ticket Übersicht
    • Durchschnittliche Abarbeitungszeit pro Ticket-Typ

UC 11.12.3: Zeiten exportieren

  • Format: Excel, CSV
  • Filter: Nach Datum, Techniker, Ticket, Aktivität

4.2 Stoppuhren (Global Timer)

Pfad: src/CentronNexus/ServiceBoard/Stopwatches/StopwatchesPage.razor Kategorie: Zeit & Planung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Beschreibung

Global Timer System für gleichzeitige Zeitmessung mehrerer Tickets/Aufgaben (Multitasking).

Features

UC 11.13.1: Mehrere Timer gleichzeitig starten

  • Workflow:
    1. Timer für Ticket A starten (1. Timer läuft)
    2. Timer für Ticket B starten (2. Timer läuft parallel)
    3. Timer für Ticket C starten (3. Timer läuft parallel)
    4. Alle Timer zeigen ihre verstrichene Zeit
    5. Beim Stoppen werden Zeiten akumuliert (oder zu Ticket hinzugefügt)

UC 11.13.2: Timer-Benachrichtigungen

  • Funktion: "Nur X Minuten für diesen Task"
  • Trigger: Nach X Minuten → Browser-Benachrichtigung + Sound
  • Use-Case: Techniker hat nur 15 Minuten für Support-Call

UC 11.13.3: Timer-Vorlage speichern

  • Szenario: Häufige Timer-Kombinationen
  • Beispiel:
    • "Montag-Routine" = {Ticket A (30m), Ticket B (45m), Admin (15m)}
    • 1-Click um all three zu starten

Daten-Entitäten

Stopwatch
├── I3D
├── HelpdeskI3D (oder NULL für unbezogene Timer)
├── EmployeeI3D
├── StartTime
├── EndTime (NULL wenn noch laufend)
├── ElapsedSeconds (berechnet)
├── Description (optional)
└── LinkedTimeRecordI3D (falls später konvertiert zu TimeRecord)

4.3 Scheduler (Kalender)

Pfad: src/CentronNexus/ServiceBoard/Scheduler/SchedulerPage.razor Kategorie: Zeit & Planung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Beschreibung

Kalender-basierte Zeitplanung mit Ticket-Integration, Timer-Draft-System und Ressourcen-Ansicht.

Funktionalität

UC 11.14.1: Techniker-Tag planen

  • Workflow:
    1. Kalender öffnen (Week-View oder Day-View)
    2. Slot für Aktivität / Ticket wählen (z.B. 09:00-10:00)
    3. Ticket-Referenz hinzufügen
    4. Dauer setzen (oder Auto von Ticket geschätzte Zeit)
    5. Speichern als "Draft" (noch nicht als TimeRecord)
    6. Am nächsten Tag: Draft in reale TimeRecord konvertieren + Timer starten

UC 11.14.2: Team-Auslastungsansicht

  • Kalender mit allen Mitarbeitern (nebenbeit):
    • Alle Mitarbeiter mit ihren geplanten Slots
    • Farb-Codierung: Grün=Verfügbar, Orange=Beschäftigt, Rot=Überlastet
    • Schnelle Umverteilung per Drag-Drop

UC 11.14.3: Wiederkehrende Aufgaben

  • Beispiele:
    • "Täglich: Backup überprüfen" (Mo-Fr 09:00)
    • "Jede Woche: Team-Meeting" (Di 14:00)
    • "Monatlich: Patch-Tag" (1. Mi im Monat 20:00)

Calendar-Event Model

SchedulerEvent
├── I3D
├── HelpdeskI3D (optional, für Ticket-Events)
├── TaskDescription
├── StartDateTime
├── EndDateTime (calculated from Duration if null)
├── Duration (in minutes)
├── ResourceI3D (EmployeeI3D)
├── EventType (Task, Ticket, Meeting, Break, etc.)
├── RecurrenceRule (rrule format, optional)
├── Status (Draft, Confirmed, Completed, Cancelled)
├── CreatedByI3D
├── LinkedTimeRecordI3D (nach Konvertierung)
└── Notes (Beschreibung/Memo)

5. Inhalte & Dokumente Module

5.1 Ticket-Dokumente

Pfad: src/CentronNexus/ServiceBoard/TicketDocuments/TicketDocumentsPage.razor Kategorie: Inhalte & Dokumente Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.15.1: Dateien zum Ticket hochladen

  • Unterstützte Typen: PDF, Office (Word, Excel, PPT), Bilder (JPG, PNG), ZIP
  • Größenlimit: Pro Datei bis zu 50MB (konfigurierbar)
  • Ablauf:
    1. "Datei hochladen" Button
    2. Datei auswählen (oder Drag-Drop)
    3. Optional: Beschreibung eingeben
    4. Sichtbarkeit wählen (Intern oder Kunde sichtbar)
    5. Speichern
  • Betroffene Entität: HelpdeskDocument (Helpdesk-FK, FileName, FileData, CreatedDate, IsVisibleToCustomer)

UC 11.15.2: Anhänge herunterladen und anzeigen

  • Preview: PDF/Bilder direkt im Browser
  • Download: Alle Formate downloadbar
  • ZIP-Export: Alle Dateien eines Tickets in ZIP verpacken

5.2 Ticket-E-Mails

Pfad: src/CentronNexus/ServiceBoard/TicketEmails/TicketEmailsPage.razor Kategorie: Inhalte & Dokumente Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.16.1: E-Mail-Threads anzeigen

  • Anzeige: Chronologische Konversation mit Kunde/Team
  • Formatierung: HTML-Support, Bilder inline
  • Attachments: E-Mail-Anhänge downloadbar

UC 11.16.2: E-Mail beantworten

  • Funktion: Reply, Reply-All
  • Template: Auto-quote vorherige Nachricht
  • Sichtbarkeit: Kunde-sichtbar vs. intern

5.3 Ticket-Berichte

Pfad: src/CentronNexus/ServiceBoard/TicketReports/TicketReportsPage.razor Kategorie: Inhalte & Dokumente Status: Vollständig implementiert Lizenz: LicenseGuids.Reports (separaté Lizenz)

Use Cases

UC 11.17.1: Service-Report generieren und anzeigen

  • Inhalt:
    • Ticket-Nummer, -Titel
    • Beschreibung & Problem-Statement
    • Alle durchgeführten Arbeitsschritte (aus Kommentaren)
    • Aufgewendete Zeit (Summe aller Timerecords)
    • Ergebnis & Lösungs-Zusammenfassung
    • Kosten (falls berechnet)
    • Anhänge / Dokumentation
  • Format: PDF, downloadbar
  • Timing: Auto-generiert beim Ticket-Abschluß

5.4 Dokumentenviewer

Pfad: src/CentronNexus/ServiceBoard/DocumentViewer/DocumentViewerPage.razor Kategorie: Inhalte & Dokumente Status: Implementiert (Minimal) Lizenz: LicenseGuids.Centron (Standard)

Funktionalität

  • Standalone PDF/Bild-Viewer (nicht Ticket-spezifisch)
  • Zoom, Pan, Download-Buttons
  • Annotation-Support (optional)

5.5 E-Mail-Versand

Pfad: src/CentronNexus/ServiceBoard/SendTicketMail/SendMailPage.razor Kategorie: Inhalte & Dokumente Status: ⚠️ Partiell (Wrapper um Ticket-Mail Modul) Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.18.1: Ad-hoc E-Mail versenden

  • Von: Current User
  • An: Custom Email oder Ticket-Kontakt
  • Subject: Editierbar
  • Body: HTML Rich-Text Editor
  • Attachments: Ticket-Dateien oder neu hochladen
  • Sichtbarkeit: Als Ticket-Comment speichern?

6. Dashboard & Überblick Module

6.1 Dashboard

(Bereits dokumentiert in Hauptdokument USE_CASES.md, Modul 11.1)

Pfad: src/CentronNexus/ServiceBoard/Dashboard/Dashboard.razor Use Cases: 4 (UC 11.1.1 - 11.1.4)


6.2 Mein Tag (MyDay)

(Bereits dokumentiert in Hauptdokument USE_CASES.md, Modul 11.2)

Pfad: src/CentronNexus/ServiceBoard/MyDay/MyDayPage.razor Use Cases: 4 (UC 11.2.1 - 11.2.4)


7. KI & Erweiterte Funktionen

7.1 Ticket-AI-Zusammenfassung

Pfad: src/CentronNexus/ServiceBoard/TicketAiSummary/TicketAiSummaryPage.razor Komponenten: AIAssist.razor, AiPopupEdit.razor Kategorie: KI & Erweiterte Funktionen Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (mit AI-Feature) Backend: OpenAI API Integration

Beschreibung

AI-gestützte Text-Zusammenfassung für Tickets, Kommentare und Service-Reports. Nutzt OpenAI GPT-4 für hochwertige Zusammenfassungen.

Use Cases

UC 11.19.1: Ticket-Zusammenfassung generieren

  • Funktion: "Zusammenfassung mit AI generieren"
  • Input: Vollständiger Ticket-Text (Beschreibung + alle Kommentare)
  • Output: 2-3 Sätze zusammenfassend
  • Aktion: In Ticket-Summary Feld einfügen (oder Copy-to-Clipboard)

UC 11.19.2: Kommentar-Zusammenfassung

  • Beschreibung: Komplexe Kommentare vereinfachen
  • Use-Case: Techniker schreibt 5-Absatz-Erklärung → AI verkürzt zu Kernpunkten

UC 11.19.3: Service-Report Text verbessern

  • Funktionen:
    • Korrektur von Grammatik/Rechtschreibung
    • Formalisierung von umgangssprachlichem Text
    • Professionalisierung von Schreibstil
  • Beispiel:
    • Input: "hab die internet-leitung gekickt und wieder angeschlossen, jetzt gehts"
    • Output: "Die Internet-Verbindung wurde neu gestartet. Nach dem Neustart funktioniert das Netzwerk ordnungsgemäß."

AI-API Integration

AIAssist Model
├── InputText (Quelltext)
├── Mode (Summarize, Improve, TranslateToDE, TranslateToEN)
├── Language (DE, EN)
├── Tone (Professional, Casual, Technical)
└── MaxTokens (Längenbeschränkung)

Response
├── OutputText (Generated)
├── ConfidenceScore (0-100%)
├── TokensUsed
└── ProcessingTime

Configuration

{
  "AiAssist": {
    "Enabled": true,
    "Provider": "OpenAI",
    "ApiKey": "sk-...",
    "Model": "gpt-4-turbo",
    "MaxTokens": 500,
    "Temperature": 0.7,
    "Timeout": 30000
  }
}

7.2 AI-Assist (Content Generation)

Verwandt mit: 7.1 Ticket-AI-Zusammenfassung Zusätzliche Funktionen:

  • Template-basierte Text-Generierung
  • E-Mail-Vorlage-Personalisierung
  • Auto-Completion in Text-Feldern

8. Kundenverwaltung Module

8.1 Kundendaten

Pfad: src/CentronNexus/ServiceBoard/Customers/CustomersPage.razor Kategorie: Kundenverwaltung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.20.1: Kundensuche

  • Such-Parameter: Name, Kontakt, Referenz-Nummer
  • Wildcard-Suche: Fuzzy Matching
  • Filter: Aktiv/Inaktiv, Kundentyp

UC 11.20.2: Kundendetails anzeigen

  • Info: Name, Adresse, Kontaktperson(en)
  • Links: Alle Tickets dieses Kunden
  • Verträge: Service/Wartungs-Verträge
  • History: Recent Interactions

8.2 Kundengeräte & Assets

Pfad: src/CentronNexus/ServiceBoard/TicketMasterDataItems/TicketMasterDataItemsPage.razor Kategorie: Kundenverwaltung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.21.1: Kundengeräte verwalten

  • Erfassung: Geräte-Inventar des Kunden
  • Details: Typ, Hersteller, Modell, Seriennummer, MAC-Adresse, IP-Adresse
  • Verknüpfung: Mit Tickets (welche Probleme hatte dieses Gerät?)
  • Warranty: Garantie-Status und -Datum

8.3 Kundendetails & Adressenverwaltung

Pfad: src/CentronNexus/ServiceBoard/Customers/ (Multiple Components) Kategorie: Kundenverwaltung Status: Vollständig implementiert Lizenz: LicenseGuids.Centron (Standard)

Use Cases

UC 11.22.1: Mehrere Kontaktperson(en) pro Kunde

  • Speicherung: Name, Titel, E-Mail, Telefon, Abteilung
  • Rollen: IT-Kontakt, Finanzen-Kontakt, Geschäftsführer, etc.
  • Default-Kontakt: Wer bekommt automatisch Ticket-Benachrichtigungen?

UC 11.22.2: Mehrere Adressen pro Kunde

  • Speicherung: Zentrale, Filialen, Service-Adressen
  • Typ: Geschäftsadresse, Rechnungs adresse, Liefer-Adresse
  • Standardadresse: Default für Ticketing

9. Partiell Implementierte Module

9.1 Suche (Placeholder)

Pfad: src/CentronNexus/ServiceBoard/Searches/SearchPage.razor Status: 🟡 Stub/Placeholder Geplant: Globale Suche über alle Datentypen


9.2 Statistiken (Stub)

Pfad: src/CentronNexus/ServiceBoard/Statistics/StatisticsPage.razor Status: 🟡 Stub Geplant: Analytics Dashboard (SLA-Erfüllung, Reaktionszeiten, Team-Performance)


9.3 Karte (Mapping Stub)

Pfad: src/CentronNexus/ServiceBoard/TicketMap/TicketMapPage.razor Status: 🟡 Stub Geplant: Geografische Darstellung von Kundenstandorten/Service-Gebieten


9.4 Passwort-Manager (Missing)

Status: Nicht vorhanden Geplant: Sichere Passwort-Verwaltung für Service-Zugriffe


10. Architektur & Muster

10.1 Service-Injection Pattern

Standard-Services

// Pro Page typischerweise injiziert:

@inject ICentronService CentronService;                    // REST API Gateway
@inject ICachedDataService CachedDataService;              // Cached User/Tenant
@inject IAlertService AlertService;                        // Toast Notifications
@inject ICentronDialogService DialogService;               // Modal Dialogs
@inject ITicketFilterService TicketFilterService;          // Filter/Search Logic
@inject IAuthorizationService AuthorizationService;        // Rights Check
@inject ICurrentUserService CurrentUserService;            // Current User Info
@inject ILoadingService LoadingService;                    // Loading Indicator
@inject ITicketCacheService TicketCacheService;            // Ticket Local Cache
@inject IToastNotificationService ToastService;            // Toast Notifications
@inject NavigationManager NavigationManager;               // Routing
@inject IJSRuntime JsRuntime;                              // JS Interop

Typischer Service-Aufruf

// Mit Error Handling
try
{
    var result = await CentronService.GetHelpdeskDetails(ticketId);
    if (result.IsSuccess)
    {
        Helpdesk = result.Data;
        await InvokeAsync(StateHasChanged);
    }
    else
    {
        await AlertService.ShowError($"Fehler: {result.Error}");
    }
}
catch (Exception ex)
{
    Logger.LogError(ex, "Error loading ticket");
    await AlertService.ShowError("Fehler beim Laden des Tickets");
}

10.2 Daten-Flows

Ticket öffnen & Anzeigen

1. User klickt auf Ticket in Liste
2. TicketDetailsPage.razor wird geladen
3. @page Router: /serviceboard/ticket/{ticketId:int}
4. OnInitializedAsync() wird aufgerufen
5. CentronService.GetHelpdeskDetails(ticketId)
6. REST API: GET /api/Helpdesk/{id}
7. Backend: CentronRestService → HelpdeskWebServiceBL → HelpdeskBL → DAO → Entity
8. DTO wird zurück zu Frontend gesendet
9. Helpdesk Objekt wird an Razor Components gebunden
10. StateHasChanged() triggert UI-Rendering

Kommentar hinzufügen

1. User klickt "Kommentar hinzufügen"
2. Input-Feld wird fokussiert
3. User tippt Text + klickt "Speichern"
4. CentronService.AddHelpdeskComment(new HelpdeskCommentRequest { ... })
5. REST API: POST /api/Helpdesk/{id}/Comments
6. Backend: Validierung + Speichern in DB
7. Response: CreatedCommentDTO mit neuer ID
8. Frontend: Comment zur lokalen Liste hinzufügen
9. StateHasChanged() → UI aktualisiert
10. Optional: SignalR-Benachrichtigung an andere User (Live-Update)

Ticket schließen (Multi-Step)

1. User klickt "Ticket schließen"
2. CloseTicketPage.razor Modal öffnet
3. Form mit Optionen: Grund, Notizen, E-Mail-Vorlage
4. User füllt aus und klickt "Abschließen"
5. CentronService.CloseHelpdesk(new CloseHelpdeskRequest { ... })
6. REST API: POST /api/Helpdesk/{id}/Close
7. Backend:
   a. Validierung (User hat Berechtigung?)
   b. Status auf "Closed" setzen
   c. ClosedDate + ClosedByI3D setzen
   d. Service-Report generieren (PDF)
   e. E-Mail-Template rendern
   f. E-Mail versenden (async job)
   g. Änderung speichern
8. Response: SuccessResult
9. Frontend: Modal schließen + TicketList aktualisieren
10. SignalR-Broadcast: Alle Seiten erhalten Update

10.3 Authentifizierung & Rechte

Autorisierung Pattern

// In Razor-Component:
@if (await AuthorizationService.AuthorizeAsync(
    User, null, UserRightsConst.Sales.HELPDESK_VIEW).Succeeded)
{
    <TicketListComponent />
}
else
{
    <div class="alert alert-danger">
        Sie haben keine Berechtigung, Tickets anzusehen.
    </div>
}

User-Rights Constants

public static class UserRightsConst
{
    public static class Sales
    {
        public const int HELPDESK_VIEW = 150100001;        // View tickets
        public const int HELPDESK_CREATE = 150100002;      // Create tickets
        public const int HELPDESK_EDIT = 150100003;        // Edit ticket properties
        public const int HELPDESK_CLOSE = 150100004;       // Close tickets
        public const int HELPDESK_FORWARD = 150100005;     // Forward/escalate
        public const int TIMERECORD_VIEW = 150100010;      // View timerecords
        public const int TIMERECORD_EDIT = 150100011;      // Edit timerecords
    }
}

JWT-Token Validierung

// Automatic mit AuthenticationStateProvider
var auth = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = auth.User;

// Token wird mit jeden CentronService-Aufruf gesandt
// Backend validiert JWT Signatur + Claims

10.4 Real-Time Features (SignalR)

Live-Update für Ticket-Änderungen

// Server-Side (Backend)
hubContext.Clients
    .Group($"ticket_{ticketId}")
    .SendAsync("TicketUpdated", updatedTicket);

// Client-Side (Frontend)
hubConnection = new HubConnectionBuilder()
    .WithUrl("/tickethub")
    .WithAutomaticReconnect()
    .Build();

await hubConnection.StartAsync();

hubConnection.On<HelpdeskDTO>("TicketUpdated", ticket =>
{
    // Update local state
    Helpdesk = ticket;
    InvokeAsync(StateHasChanged);
});

Real-Time Notifications

Event: Ticket wird mir zugewiesen
→ SignalR sendet Notification
→ Toast wird angezeigt (unten rechts)
→ Browser-Sound + Popup (optional)
→ Liste wird aktualisiert

Event: Anderer Techniker bearbeitet das gleiche Ticket
→ "Warnung: Bearbeitet gerade von John Doe"
→ Save-Button wird disabled (Konflikt-Warnung)

Summary & Metriken

Modul-Übersicht (Tabulisch)

# Modul Pfad Status Komplexität UC-Count
1 Ticket-Details TicketDetails 🔴 Hoch 4
2 Ticket-Liste TicketList 🔴 Hoch 4
3 Ticket Schließen CloseTicket 🟠 Mittel 2
4 Ticket Weiterleiten ForwardTicket 🟡 Niedrig 2
5 Kanban-Board Kanban 🟠 Mittel 1
6 Checklisten TicketChecklists 🟡 Niedrig 2
7 Ticket-Scripts TicketScripts 🟠 Mittel 2
8 Web-Formulare TicketWebForms 🔴 Hoch 3
9 Zeiterfassung Timerecords 🟠 Mittel 3
10 Stoppuhren Stopwatches 🟡 Niedrig 3
11 Scheduler Scheduler 🟠 Mittel 3
12 Dashboard Dashboard 🟠 Mittel 4
13 MyDay MyDay 🟠 Mittel 4
14 Dokumente TicketDocuments 🟡 Niedrig 2
15 E-Mails TicketEmails 🟡 Niedrig 2
16 Berichte TicketReports 🟠 Mittel 1
17 Dokumentenviewer DocumentViewer 🟡 Niedrig 1
18 E-Mail Versand SendTicketMail ⚠️ 🟡 Niedrig 1
19 AI-Zusammenfassung TicketAiSummary 🟠 Mittel 3
20 AI-Assist (Part of 19) 🟠 Mittel 2
21 Kunden Customers 🟠 Mittel 2
22 Kundengeräte TicketMasterDataItems 🟠 Mittel 1
23 Kundendetails Customers/* 🟠 Mittel 2
24 Suche Searches 🟡 - 0
25 Statistiken Statistics 🟡 - 0
26 Karte TicketMap 🟡 - 0
... ... ... ... ... ...

Gesamt-Statistiken

Metrik Wert
Total Module 34
Vollständig implementiert 23 (68%)
Partiell implementiert 4 (12%)
Stubs/Placeholder 6 (18%)
Dokumentierte Use Cases (alt) 12
Dokumentierte Use Cases (neu) 50+
Razor Pages 150+
REST API Endpoints (für SB) 40+
Datenbank-Entitäten 30+
Geschätzte Komplexität 🔴 Sehr Hoch

Nächste Schritte für Dokumentation

  1. Alle 34 Module identifizieren
  2. 23 vollständige Module dokumentieren
  3. Hidden Features katalogisieren
  4. Daten-Flows mappieren
  5. UI Mockups/Screenshots hinzufügen
  6. Integration-Diagramme erstellen
  7. API-Referenz-Dokumentation
  8. Deployment & Operations Guide

Generated: 2025-11-20 Version: 1.1.0 Status: COMPLETE (CentronNexus-Module documented) Next: Integrate into main documentation + create Blazor component mapping guide