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
Teil 2: Vollständig Implementierte Module (23)
Ticketing & Management (8 Module)
- 3.1 Ticket-Details
- 3.2 Ticket-Liste / Cached Ticket List
- 3.3 Ticket schließen
- 3.4 Ticket weiterleiten
- 3.5 Kanban-Board
- 3.6 Ticket-Checklisten
- 3.7 Ticket-Scripts
- 3.8 Ticket Web-Formulare
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)
- 9.1 Suche (Placeholder)
- 9.2 Statistiken (Stub)
- 9.3 Karte (Mapping Stub)
- 9.4 Passwort-Manager (Missing)
Teil 4: Architektur & Muster
- 10.1 Service-Injection Pattern
- 10.2 Daten-Flows
- 10.3 Authentifizierung & Rechte
- 10.4 Real-Time Features (SignalR)
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:
- Code-Analyse: 34 Module durchsucht
- Razor-Komponenten: 150+ .razor Seiten analysiert
- Service-Schichten: BL-Layer und REST-API-Integration dokumentiert
- Daten-Flows: ICentronService Aufrufe katalogisiert
- 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:
- Ticket aus Liste auswählen
- Ticket-Details laden (lazy loading)
- Beschreibung anzeigen (collapsible)
- Eigenschaften bearbeiten
- Ä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:
- Comment-Input öffnen
- Text eingeben
- Type wählen (Internal/External/Public)
- Speichern und Optional E-Mail senden
- Betroffene Felder:
HelpdeskComment(CommentText, IsInternal, CreatedByI3D, CreatedDate)
UC 11.5.3: Anhänge verwalten
- Ablauf:
- Datei hochladen (Drag&Drop oder Browse)
- Dateityp erkennen (Bild, PDF, etc.)
- Inline Preview zeigen
- Mit E-Mail optional versenden
- 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
- Editor Lock: Zeigt in Echtzeit wer gerade das Ticket bearbeitet
- Conditional Formatting: Status-Farben basierend auf Regeln
- Inline Attachments: Bilder/PDFs direkt im Editor sichtbar
- Mention-System: @mention von Mitarbeitern in Kommentaren
- 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:
- Filtersektion öffnen
- Filter-Kombinationen setzen (AND/OR Logik)
- Suchen (Echtzeit oder Button)
- Ergebnisse in Grid/Kanban anzeigen
- 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:
- Board-Ansicht wählen (Status, Priorität, etc.)
- Tickets auf Karten sehen
- Ticket per Drag&Drop verschieben
- Status auto-update
- 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
- Column Summary Statistics: In Header-Zeile
- Inline Filtering: Schnellfilter direkt in Spalten
- Ticket Grouping: Gruppierung nach Customer, Team, Status
- Export to Excel: Gefilterte Ergebnisse exportieren
- 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:
- "Ticket schließen" Button klicken
- Schließungsgrund wählen
- Lösungs-Zusammenfassung eingeben
- Service-Report generieren (optional PDF)
- Vorlage auswählen für Kundenbenachrichtigung
- Zusätzliche Empfänger hinzufügen
- 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:
- "Weiterleiten" Button
- Ziel-Empfänger auswählen (Einzeln oder Team)
- Kurznachricht hinzufügen (warum weiterleiten?)
- E-Mail mit Kontext senden
- 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:
- Externe E-Mail-Adresse eingeben
- Ticketdetails (oder Summary) versenden
- Referenznummer austauschen
- 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
- Status-Board (Standard)
- Prioritäts-Board
- Typ-Board
- 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:
- Checklisten-Template auswählen (oder neu erstellen)
- Aufgaben-Items durchgehen
- Abhängigkeiten definieren (z.B. "A muss vor B" abgeschlossen werden)
- Während Ticket-Bearbeitung abhaken
- 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:
- Formular öffnen (from public URL)
- Felder ausfüllen
- Validierung (Client-side + Server-side)
- Submit
- Ticket automatisch erstellt
- 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:
- Timerecord-Liste öffnen (für das Ticket)
- "Neue Zeit" Button
- Start-Zeit, End-Zeit eingeben (oder Dauer)
- Beschreibung der Arbeiten eingeben
- Optional: Tätigkeit/Aktivität-Typ wählen
- 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:
- Timer für Ticket A starten (1. Timer läuft)
- Timer für Ticket B starten (2. Timer läuft parallel)
- Timer für Ticket C starten (3. Timer läuft parallel)
- Alle Timer zeigen ihre verstrichene Zeit
- 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:
- Kalender öffnen (Week-View oder Day-View)
- Slot für Aktivität / Ticket wählen (z.B. 09:00-10:00)
- Ticket-Referenz hinzufügen
- Dauer setzen (oder Auto von Ticket geschätzte Zeit)
- Speichern als "Draft" (noch nicht als TimeRecord)
- 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:
- "Datei hochladen" Button
- Datei auswählen (oder Drag-Drop)
- Optional: Beschreibung eingeben
- Sichtbarkeit wählen (Intern oder Kunde sichtbar)
- 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
- ✅ Alle 34 Module identifizieren
- ✅ 23 vollständige Module dokumentieren
- ✅ Hidden Features katalogisieren
- ✅ Daten-Flows mappieren
- ⏳ UI Mockups/Screenshots hinzufügen
- ⏳ Integration-Diagramme erstellen
- ⏳ API-Referenz-Dokumentation
- ⏳ 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