# CentronNexus Screenshots to Use-Cases Mapping **Generated**: 2025-11-23 **Status**: Initial capture complete **Screenshots Captured**: 1 of 34 planned --- ## Overview This document maps captured screenshots to CentronNexus use-cases, helping identify gaps in the existing documentation and new use-cases discovered through visual UI analysis. --- ## Captured Screenshots ### Screenshot 1: Authentication/Login Page **File**: `01-Ticket-Liste.png` (Currently showing login page) **Timestamp**: 2025-11-23_12-54-26 **Size**: 37 KB #### What's Shown The main login page for CentronNexus ServiceBoard: - Application header: "ServiceBoard" with logo - Tagline: "Ihr cleveres Ticketsystem" (Your smart ticket system) - Two authentication options: 1. **Microsoft Sign-In**: "Anmelden mit Microsoft" button (OAuth/Azure AD) 2. **Username/Password**: Manual login with fields for: - Benutzername (Username) - Passwort (Password) - "Anmelden" button (Sign In) - "Setup Wizard" link for initial configuration - Footer: Version 1.0.2601.301, Data Protection, Impressum, Copyright #### Use-Case Analysis **NEW USE-CASE DISCOVERED**: Authentication & Login Workflow This screenshot reveals a previously undocumented use-case in the CentronNexus system. The existing documentation jumps directly to the Ticket-Liste (3.1) without documenting how users authenticate to the system. **Use-Case Details**: - **Title**: Authentication & User Login - **Actor**: New or returning user - **Primary Flow**: 1. User navigates to http://localhost:8050 (or production ServiceBoard URL) 2. System displays login page with two authentication methods 3. User chooses authentication method: - Option A: Microsoft/Azure AD single sign-on - Option B: Traditional username/password login 4. User provides credentials 5. System validates authentication 6. System redirects to dashboard/home page upon successful authentication - **Alternative Flows**: - Invalid credentials → System displays error message - First-time setup → User clicks "Setup Wizard" to configure initial settings - SSO failure → System falls back to manual login option - **System Components Involved**: - Authentication middleware (JWT/OAuth handling) - Identity provider (Microsoft Entra ID / Azure AD) - Session management - User rights and permission initialization - Dashboard/home page redirection logic - **Security Considerations**: - HTTPS required for production - CSRF protection on login form - Session timeout policies - Multi-factor authentication (if configured) - Account lockout after failed attempts - **Technical Implementation**: - **Framework**: ASP.NET Core 8 with Blazor Server - **Authentication**: OAuth 2.0 (Microsoft Entra ID) + Forms-based auth - **Session**: HttpContext/ClaimsIdentity based - **API Calls**: Authentication endpoints in CentronWebService - **Related Files**: - `src/CentronNexus/Pages/Authentication/Login.razor` - `src/CentronNexus/Program.cs` (Authentication configuration) - `src/CentronNexus/Services/AuthenticationService.cs` - `src/webservice/Centron.WebServices.Core/` (Authentication service layer) #### Relationship to Documented Use-Cases This login page is the **prerequisite** for all documented use-cases in the system: - 3.1 Ticket-Liste (requires authentication) - 3.2 Ticket öffnen (requires authentication) - Dashboard (requires authentication) - All other modules (require authentication) #### Next Steps To proceed beyond this login page and capture actual Ticket-Liste screenshots: 1. Automate authentication in Playwright script with valid credentials 2. OR provide credentials for manual testing 3. OR configure test user for automated testing --- ## Mapping Table: Screenshots ↔ Use-Cases | Screenshot | File | Use-Case | Module | Documented | Status | |-----------|------|----------|--------|-----------|--------| | 01 | `01-Ticket-Liste.png` | Authentication & Login | System | ❌ NEW | ✅ Captured | | 02 | (planned) | Ticket-Liste | Ticketing | ✅ YES | ⏳ Pending | | 03 | (planned) | Ticket öffnen | Ticketing | ✅ YES | ⏳ Pending | | 04 | (planned) | Ticket schließen | Ticketing | ✅ YES | ⏳ Pending | | 05 | (planned) | Ticket weiterleiten | Ticketing | ✅ YES | ⏳ Pending | | 06 | (planned) | Kanban-Board | Ticketing | ✅ YES | ⏳ Pending | | 07 | (planned) | Ticket-Checklisten | Ticketing | ✅ YES | ⏳ Pending | | 08 | (planned) | Ticket-Scripts | Ticketing | ✅ YES | ⏳ Pending | | 09 | (planned) | Ticket Web-Formulare | Ticketing | ✅ YES | ⏳ Pending | | 10 | (planned) | Zeiterfassung | Time & Planning | ✅ YES | ⏳ Pending | | 11 | (planned) | Stoppuhren | Time & Planning | ✅ YES | ⏳ Pending | | 12 | (planned) | Scheduler | Time & Planning | ✅ YES | ⏳ Pending | | 13 | (planned) | Ticket-Dokumente | Content & Documents | ✅ YES | ⏳ Pending | | 14 | (planned) | Ticket-E-Mails | Content & Documents | ✅ YES | ⏳ Pending | | 15 | (planned) | Ticket-Berichte | Content & Documents | ✅ YES | ⏳ Pending | | 16 | (planned) | Dokumentenviewer | Content & Documents | ✅ YES | ⏳ Pending | | 17 | (planned) | E-Mail-Versand | Content & Documents | ✅ YES | ⏳ Pending | | 18 | (planned) | Dashboard | Dashboard & Overview | ✅ YES | ⏳ Pending | | 19 | (planned) | Mein Tag | Dashboard & Overview | ✅ YES | ⏳ Pending | | 20 | (planned) | Ticket-AI-Zusammenfassung | AI & Advanced | ✅ YES | ⏳ Pending | | 21 | (planned) | AI-Assist | AI & Advanced | ✅ YES | ⏳ Pending | | 22 | (planned) | Kundendaten | Customer Management | ✅ YES | ⏳ Pending | | 23 | (planned) | Kundengeräte & Assets | Customer Management | ✅ YES | ⏳ Pending | | 24 | (planned) | Kundendetails | Customer Management | ✅ YES | ⏳ Pending | | 25 | (planned) | CRM Module | CRM | ❌ NEW | ⏳ Pending | | 26 | (planned) | Customer Partner Relations | CRM | ❌ NEW | ⏳ Pending | | 27 | (planned) | Customer Task Management | CRM | ❌ NEW | ⏳ Pending | | 28 | (planned) | Master Data Items | Advanced | ❌ NEW | ⏳ Pending | | 29 | (planned) | Geographic Map | Advanced | ❌ NEW | ⏳ Pending | | 30 | (planned) | Global Search | Advanced | ❌ NEW | ⏳ Pending | | 31 | (planned) | Password Manager | Security | ❌ NEW | ⏳ Pending | | 32 | (planned) | Phone Call Management | Communication | ❌ NEW | ⏳ Pending | | 33 | (planned) | Email Thread Management | Communication | ❌ NEW | ⏳ Pending | | 34 | (planned) | Advanced Statistics | Analytics | ❌ NEW | ⏳ Pending | --- ## New Use-Cases Identified ### 1. Authentication & User Login (NEW) **Classification**: System / Security **Priority**: P0 (Critical - Required for all other use-cases) **Complexity**: Medium **User Roles**: All users **Description**: The ServiceBoard login workflow allowing users to authenticate via Microsoft Entra ID (Azure AD) or traditional username/password credentials. **Key Features**: - Microsoft/Azure AD integration for enterprise SSO - Traditional username/password authentication - Session management and token-based auth - Setup wizard for initial configuration - Error handling for authentication failures **Business Value**: - Essential security layer for multi-tenant SaaS application - Enterprise integration via SSO reduces password management - Initial configuration guidance improves onboarding --- ## Updates Needed in Existing Documentation ### Files to Update 1. **USE_CASES_CENTRON_NEXUS.md** - Add section 2.0: "Authentication & System Setup" - Insert before section 3.1 Ticket-Liste - Content: New authentication use-case details 2. **DISCOVERED_USECASES_CENTRON_NEXUS.md** - Add Group E: System & Security (new group) - E.1: Authentication & User Login - E.2: Session Management & Timeouts - E.3: User Rights & Permission Management 3. **SCREENSHOT_MAPPING_COMPLETE.md** - Add system authentication mapping section - Update prerequisites for all 34 modules - Document authentication as first step --- ## Issues & Blockers ### Current Blocker: Authentication Required **Issue**: To capture screenshots of actual feature modules (Ticket-Liste, Dashboard, etc.), the Playwright script needs to authenticate first. **Options to Resolve**: 1. **Add credentials to script** (Test user): - Update Playwright script with test user credentials - Auto-login before navigating to each module - Recommended for automated testing 2. **Manual authentication**: - User logs in manually - Playwright runs after authentication - Requires manual user interaction 3. **Mock authentication** (if test environment supports): - Configure test server to skip authentication - Or provide bearer token for API calls - Fastest for development **Recommendation**: Option 1 - Add test user credentials to Playwright script for full automation --- ## Implementation Progress ``` [████░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 13% Complete ✅ Screenshot 01/34: Authentication Page (NEW use-case discovered) ⏳ Screenshots 02-34: Pending (requires authenticated access) Blocking Issue: Authentication required for further screenshots ``` --- ## Next Actions ### Immediate 1. ✅ Review login page screenshot (completed) 2. ✅ Document authentication use-case (completed) 3. ⏳ **Update Playwright script to auto-authenticate** 4. ⏳ Capture remaining 33 screenshots (authenticated) ### Short-term 1. Create new authentication documentation section 2. Add to DISCOVERED_USECASES file 3. Update SCREENSHOT_MAPPING with authentication flow ### Medium-term 1. Complete all 34 screenshot captures 2. Detailed analysis of UI for additional use-cases 3. Integration with CI/CD pipeline for automated captures --- ## Technical Notes ### CentronNexus Architecture - **Frontend**: Blazor Server (ASP.NET Core 8) - **Backend**: REST API on port 1234 (CentronWebService) - **Port**: 8050 (default development) - **Authentication**: OAuth 2.0 (Microsoft) + Forms-based - **Session**: JWT tokens + HttpContext ### Playwright Configuration - **Browser**: Chromium (v1.56.0) - **Mode**: Non-headless (visible window) - **Timeout**: 30 seconds per navigation - **Screenshot Format**: PNG, full-page - **Storage**: Timestamped directories under Screenshots/ --- ## Related Files - Main mapping: `SCREENSHOT_MAPPING_COMPLETE.md` - New use-cases: `DISCOVERED_USECASES_CENTRON_NEXUS.md` - Original docs: `USE_CASES_CENTRON_NEXUS.md` - Automation script: `tests/CentronNexus.Tests.Playwright/CentronNexus.Tests.Playwright/Program.cs` - Analysis summary: `ANALYSIS_SUMMARY.md` --- **Status**: ⏳ In Progress **Last Updated**: 2025-11-23 **Next Review**: After resolving authentication blocker