47
Frontend-Seiten
34
Route-Dateien
~180
API-Endpoints
13
Komponenten
9
Cron-Jobs
v2.0.0
Agent-Version
Frontend-Seiten 47
Auth & Konto
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| LoginPage | /login | Login (Passwort + Microsoft SSO) | Öffentlich | ✓ Fertig |
| ChangePasswordPage | /change-password | Pflicht-PW-Änderung beim Erst-Login | Alle Auth. | ✓ Fertig |
| MyAccountPage | /mein-konto | Profil, Benachrichtigungseinstellungen, Passwort ändern | Alle Auth. | ✓ Fertig |
| UserPortalPage | /portal | Einstiegsseite für normale User (kein Support-Zugang) | Alle Auth. | ✓ Fertig |
Helpdesk & Tickets
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| DashboardPage | /dashboard | Hauptübersicht: offene Tickets, Agent-Status, Quick-Stats, Ankündigungen | support+ | ✓ Fertig |
| TicketsPage | /tickets | Ticket-Liste mit Filtern, Bulk-Aktionen, SSE-Live-Updates | support+ | ✓ Fertig |
| TicketDetailPage | /tickets/:id | Ticket-Detailansicht, Kommentare, KI-Antwort, Timeline, PDF-Export | Alle Auth. | ✓ Fertig |
| TicketMetricsPage | /ticket-metrics | SLA-Auswertung, Durchlaufzeiten, Top-Kategorien, Agenten-Performance | support+ | ✓ Fertig |
| DefectReportPage | /defect | Öffentliches Störungsmeldeformular (kein Login nötig) | Öffentlich | ✓ Fertig |
Asset-Verwaltung
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| AssetsPage | /assets | Hardware-Inventar, Zuweisung, Label-Druck, Übergabeprotokoll, Intune-Import | support+produktion | ✓ Fertig |
| AnlagevermoegenPage | /anlagevermoegen | Buchhaltungs-Ansicht der Assets (Abschreibung, Kaufdaten) | admin+buchhaltung | ⚠ Ausbaubar |
| MaintenancePage | /maintenance | Wartungsplanung für Assets, Fälligkeits-E-Mails | support+ | ✓ Fertig |
| LicensesPage | /licenses | Softwarelizenzen, Zuweisung, Entra-Import, Ablauf-Tracking | bearbeiter+ | ✓ Fertig |
| WarehousePage | /warehouse | Lager-Modul: Bestände, Bewegungen, Mindestbestand, Bestellungen | support+ | ✓ Fertig |
| FidoKeysPage | /fido-keys | FIDO2-/YubiKey-Verwaltung, Statusverfolgung | Alle Auth. | ⚠ Ausbaubar |
HR & Mitarbeiter-Lifecycle
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| OnOffboardingPage | /onboarding, /offboarding, /lifecycle | Eine Seite für alle drei Routen — On- & Offboarding-Protokolle mit Checklisten, PDF-Export, E-Mail-Bestätigung | admin+hr_personalbuchhaltung | ✓ Fertig |
| OnboardingConfirmPage | /onboarding-confirm/:token | Tokenseitige Bestätigung durch den neuen Mitarbeiter (öffentlich) | Öffentlich | ✓ Fertig |
| ProcessManagementPage | /process-management | Konfiguration der Onboarding-Checklisten-Vorlagen, Abteilungs-Prozesse | admin+hr_personal | ✓ Fertig |
Benutzerverwaltung
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| UsersPage | /users | IT-Nexus Benutzer-CRUD, Rollen-Zuweisung, Azure-Import, Audit-Logs | admin+ | ✓ Fertig |
| UserManagementPage | /benutzerverwaltung | Erweiterte Benutzerverwaltung (neuere, dedizierte Seite) | admin+ | ⚠ Redundant? Überlappung mit UsersPage prüfen |
| EntraPage | /entra | Azure AD / Entra ID: User, Gruppen, Rollen, Sign-in-Risiko, Conditional Access, Lizenzen | admin+ | ✓ Fertig |
Monitoring & Infrastruktur
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| MonitoringPage | /monitoring | Windows-Agent-Geräte, Status-Übersicht, Netzwerk-Monitoring (ehemals /network-monitor), Proxmox-Status | admin+ | ✓ Fertig |
| AgentDetailPage | /monitoring/device/:id | Detailansicht eines Monitoring-Geräts: Metriken, History, Commands, Patches | admin+ | ✓ Fertig |
| NetworkMonitorPage | → redirect zu /monitoring | Veraltet — wurde in MonitoringPage integriert. Route leitet weiter. | admin+ | ⚠ Altlast (redirect) |
| PatchManagementPage | /patch-management | Staged Rollout: Test→Pilot→Produktion, Gruppen, Richtlinien, Agent-Commands | admin+ | ✓ Fertig |
| ProxmoxPage | /proxmox | Proxmox VE Übersicht: VMs, CTs, Node-Ressourcen, Storage | admin+ | ⚠ Ausbaubar (nur GET /overview) |
| DockerPage | /docker | Docker-Container-Verwaltung: Start/Stop, Logs, Statistiken | admin+ | ✓ Fertig |
| DefenderPage | /defender | Microsoft Defender / MDO-Alerts, Sicherheits-Ereignisse aus Graph API | admin+ | ✓ Fertig |
| SecurityReportsPage | /security-reports | PDF-Sicherheitsberichte (Upload, Anzeige, Löschen) | admin+ | ⚠ Ausbaubar (rein manuell) |
| ScannerPage | /nexus-scanner | Netzwerk-Scanner: LXC-basierter Go-Scanner, Assets, Alerts, Sites | admin+ | ⚠ Ausbaubar |
| HealthPage | /health | Öffentliche System-Health: API-Status, DB-Status, 90-Tage-Verlauf | Öffentlich | ✓ Fertig |
KI & Wissensbasis
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| AiPage | /ai | KI-Chat mit Claude, Kontext-Auswahl, Ticket-Analyse | support+ | ✓ Fertig |
| KnowledgeBasePage | /knowledge-base | Manuelle Wissensdatenbank: Artikel, Kategorien, Suche | support+ | ✓ Fertig |
| KnowledgeAiPage | /ki-wissen | KI-Wissensbasis: Dokumente für RAG, URL-Import, Text-Import, Crawl | admin+ | ⚠ Teilweise redundant mit KnowledgeBasePage |
| AiChatWidget | (global, alle Seiten) | Floating KI-Chat-Widget, auf allen Seiten verfügbar | Alle Auth. | ✓ Fertig |
IT-Management & Compliance
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| ItOverviewPage | /it-overview | IT-Themen-Kanban (Microsoft Planner Sync), offene IT-Tasks | support+ | ✓ Fertig |
| IsoPage | /iso | ISO-27001 Aufgaben-Checkliste, Fortschritts-Tracking | admin+ | ⚠ Ausbaubar (kein Reporting) |
| RiskPage | /risk | Risikomatrix, Risikobewertung, Maßnahmen-Tracking | admin+ | ⚠ Ausbaubar (kein PDF-Export) |
Portal, Anleitungen & Sharing
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| PortalPage | /anleitungen | Anleitungs-Bibliothek für alle User (Markdown-Guides, Kategorien) | Alle Auth. | ✓ Fertig |
| SharesPage | /shares (nur via Admin) | Sichere Datei-/Text-Links mit Ablauf, Passwort, Download-Limit | admin+ | ✓ Fertig |
| PublicSharePage | /s/:token | Öffentliche Share-Ansicht mit optionalem Passwort | Öffentlich | ✓ Fertig |
Administration & System
| Seitenname | Route | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| SettingsPage | /settings | Ticket-Kategorien, Vorlagen, E-Mail-Templates, E-Mail-Design, Routing-Regeln | admin+ | ✓ Fertig |
| SystemPage | /system | System-Info, Server-Ressourcen, Datenbank-Größe, Logs | admin+ | ⚠ Ausbaubar |
| DocsPage | /docs | Interne IT-Nexus-Dokumentation (Markdown, statisch aus /public) | admin+ | ✓ Fertig |
| ApiDocsPage | /api-docs | Swagger-ähnliche API-Dokumentation für Integrationen | admin+ | ⚠ Manuell gepflegt, veraltet? |
| TVDashboardPage | /tv | Vollbild-Dashboard für Büro-Monitore: Ticket-Stats, Agent-Status | Kein Auth (URL-Schutz) | ⚠ Kein Auth-Schutz! |
Nicht geroutet / Altlasten in pages/
| Seitenname | Datei | Zweck | Rollen-Zugriff | Status |
|---|---|---|---|---|
| OnboardingPage | OnboardingPage.jsx | Alte separate Onboarding-Seite — ersetzt durch OnOffboardingPage | LEGACY | ✗ Nicht geroutet |
| OffboardingPage | OffboardingPage.jsx | Alte separate Offboarding-Seite — ersetzt durch OnOffboardingPage | LEGACY | ✗ Nicht geroutet |
| NetworkMonitorPage | NetworkMonitorPage.jsx | Alter separater Netzwerk-Monitor — in MonitoringPage integriert, Route leitet weiter | LEGACY | ✗ Datei vorhanden, aber Redirect |
Backend-APIs 34 Routen-Dateien
AUTH
Authentifizierung
/api/auth
POST/loginPasswort-Login, JWT-Ausgabe
POST/logoutToken invalidieren
GET/meAktuellen User abrufen
POST/change-passwordPasswort ändern
PUT/notificationsUser-Benachrichtigungseinstellungen
PUT/staff-notificationsStaff-Benachrichtigungseinstellungen
GET/microsoftMicrosoft OAuth-Redirect
GET/microsoft/callbackOAuth-Callback
GET/microsoft/addin*Outlook-AddIn OAuth Flow
USER
Benutzerverwaltung
/api/users
GET/Alle User (canViewOnboarding)
GET/rolesAlle Rollen
GET/audit-logsAudit-Log gesamt
GET/audit-logs/user/:userIdAudit-Log nach User
GET/export/csvCSV-Export aller User
GET/import/azure/groupsAzure-Gruppen (super_admin)
POST/import/azureAzure-Import (super_admin)
POST/:id/reset-entraPW-Reset via Entra
POST/User anlegen (super_admin)
PUT/:idUser updaten (super_admin)
PUT/:id/roleRolle zuweisen
PUT/:id/activateUser aktivieren/deaktivieren
DEL/:idUser löschen (super_admin)
TICKET
Helpdesk-Tickets
/api/tickets
GET/Alle Tickets (canViewTickets)
GET/statsTicket-Statistiken
GET/metricsSLA-Metriken, Durchlaufzeiten
GET/routingRouting-Regeln (Admin)
GET/:id/eventsSSE-Stream für Live-Updates
GET/:id/feedbackKundenfeedback-Formular (öffentl.)
GET/:id/historyTicket-Änderungshistorie
GET/:id/pdfTicket als PDF exportieren
POST/publicÖffentliches Ticket erstellen (kein Auth)
POST/:id/commentsKommentar hinzufügen
POST/:id/ai-replyKI-generierte Antwort
PUT/bulkBulk-Update mehrerer Tickets
PUT/:id/snoozeTicket snoozen
ASSET
Hardware-Assets
/api/assets · /api/asset-types
GET/Alle Assets
GET/mineEigene Assets des eingeloggten Users
GET/statsAsset-Statistiken
GET/:id/labelQR-Label generieren
GET/:id/handover-protocolÜbergabeprotokoll PDF
GET/:id/historyZuweisungs-Historie
GET/:id/inspectionsPrüf-Protokolle
POST/import/intuneIntune-Geräte-Import
POST/:id/assignAsset zuweisen
POST/:id/sync-agentSync vom Windows-Agenten
MON
Windows-Agent-Monitoring
/api/monitoring
POST/checkinAgent Check-in (X-Agent-Key, kein JWT)
POST/announcements-pollAgent Ankündigungs-Poll
GET/agent-scriptAgent-Download (C# v2.0.0)
GET/agent-setupInstaller-Download (.exe)
GET/statisticsMonitoring-Statistiken (Admin)
GET/Alle Monitoring-Geräte (Admin)
GET/:idGerät-Details
DEL/:idGerät entfernen
PATCH
Patch-Management
/api/patch
POST/commands/resultAgent meldet Command-Ergebnis (kein JWT)
GET/overviewPatch-Übersicht aller Geräte
GET/groupsRollout-Gruppen
POST/groupsGruppe erstellen
POST/policiesUpdate-Richtlinie erstellen/updaten
POST/assignAgent einer Gruppe zuweisen
POST/groups/:id/releaseVersion an Gruppe freigeben
POST/commands/triggerRemote-Command auslösen
POST/commands/trigger-groupCommand für ganze Gruppe
HR
Onboarding / Offboarding
/api/onboarding · /api/offboarding · /api/onboarding-processes
GET/onboarding/confirm/:tokenBestätigung per Token (öffentlich)
GET/onboarding/entra-managerEntra-Manager suchen
POST/onboarding/:id/send-confirmationBestätigungs-E-Mail senden
POST/onboarding/:id/regenerate-pdfPDF neu generieren
POST/offboarding/:id/return-assetsAssets zurückgeben
GET/onboarding-processes/departmentsAbteilungen für Checklisten
GET/onboarding-processes/processesProzess-Vorlagen
KI
KI / Claude-Integration
/api/ai · /api/knowledge
GET/ai/statusAPI-Verfügbarkeit, Modell-Info
POST/ai/chatChat mit Claude (claude-sonnet-4-6)
GET/ai/knowledge-baseKI-KB Einträge abrufen
POST/ai/knowledge-base/import-textText als KB importieren
POST/ai/knowledge-base/import-urlURL scrapen & importieren
POST/ai/knowledge-base/import-crawlWebsite crawlen & importieren
GET/knowledge/Manuelle KB-Artikel
GET/knowledge/category/:catKB nach Kategorie
INFRA
Infrastruktur-Monitoring
/api/proxmox · /api/docker · /api/network-monitor
GET/proxmox/overviewProxmox VMs, CTs, Node-Stats (gecacht)
GET/docker/containersDocker-Container-Liste
GET/docker/statsRessourcen-Statistiken
GET/docker/containers/:id/logsContainer-Logs
POST/docker/containers/:id/:actionStart/Stop/Restart
GET/network-monitor/sseSSE Live-Stream für Netzwerk-Status
POST/network-monitor/discoverAuto-Discovery via ICMP/SNMP
POST/network-monitor/:id/check-nowSofort-Check auslösen
GET/network-monitor/uptime-statsUptime-Statistiken aller Geräte
SEC
Sicherheit & Compliance
/api/entra · /api/external-alerts · /api/security-reports · /api/scanner
GET/entra/usersAzure AD User
GET/entra/users/:id/signin-riskAnmelde-Risiko-Score
POST/entra/users/:id/invalidate-sessionsSessions widerrufen
GET/entra/conditional-access-policiesConditional Access Policies
GET/external-alerts/Externe Alerts (Monitoring-Postfach)
POST/external-alerts/:id/create-ticketAlert zu Ticket umwandeln
POST/security-reports/uploadSicherheitsbericht hochladen
POST/scanner/assetsScanner meldet Assets
POST/scanner/alertScanner meldet Alert
MISC
Diverses
/api/announcements · /api/shares · /api/licenses · /api/warehouse · /api/portal-guides · /api/risks · /api/iso-tasks · /api/it-topics · /api/tv · /api/bot
GET/announcements/activeAktive Ankündigungen (Notification Bell)
POST/announcements/:id/ack-agentAgent bestätigt Ankündigung (kein JWT)
POST/shares/Secure-Share-Link erstellen
GET/shares/public/:tokenShare abrufen (öffentlich)
GET/warehouse/summaryLager-Übersicht mit Statistiken
GET/warehouse/violationsMindestbestand-Verletzungen
POST/bot/messagesTeams-Bot Webhook (Adaptive Cards)
GET/tv/statsTV-Dashboard Statistiken
GET/portal-guides/Anleitungs-Bibliothek
POST/it-topics/planner/syncManueller Planner-Sync
GET/risks/statsRisiko-Matrix-Statistiken
GET/licenses/statisticsLizenz-Auslastung
GET/fido-keys/FIDO2-Schlüssel-Inventar
GET/unifi/devicesUniFi-Geräte (deakt. Poller)
Empfehlungen
Sicherheits-Risiken
- TVDashboardPage (/tv) hat keinerlei Auth-Schutz — URL-Kenntnis reicht für Vollzugriff auf Ticket-Stats und Agent-Status
- DefectReportPage ist öffentlich — kein CAPTCHA/Rate-Limiting gegen Spam-Tickets
- /api/health/history ist public — gibt interne Statushistorie preis
- CORS in Produktion: extra PATCH-Methode fehlt (nur GET/POST/PUT/DELETE erlaubt)
Altlasten bereinigen
- OnboardingPage.jsx & OffboardingPage.jsx löschen — vollständig durch OnOffboardingPage ersetzt, aber Dateien noch im Repository
- NetworkMonitorPage.jsx löschen — Route ist ein Redirect, die Datei ist totes Gewicht
- Route /network-monitor entfernen (Redirect ist technisch unnötig wenn Datei weg)
- ApiDocsPage manuell gepflegt — veraltet wenn neue Endpoints fehlen; besser auto-generieren (swagger-jsdoc)
- unifi.routes.js ist aktiv gemountet, aber Poller deaktiviert — Code-Kommentar in server.js, aber Route aktiv
Zusammenfassen / Vereinheitlichen
- UsersPage (/users) + UserManagementPage (/benutzerverwaltung) — prüfen ob Überlappung besteht, ggf. zu einer Seite mergen
- KnowledgeBasePage + KnowledgeAiPage — manuelle KB und KI-KB sind getrennte Seiten aber eng verwandt; könnten Tabs in einer Seite sein
- DocsPage + ApiDocsPage — beide Admin-only Doku, könnten als Tabs gebündelt werden
- IsoPage + RiskPage — beide Compliance-Seiten, könnten unter /compliance gebündelt werden
- ProxmoxPage ist derzeit nur eine Übersicht (1 Endpoint) — könnte Tab in MonitoringPage werden
Fehlende Features / Erweiterungen
- VPN Site-to-Site Monitoring fehlt noch (Sophos XG API oder ping-basiert) — in Memory als offen markiert
- Agent v2.0.0 Features: Software-Inventar, BitLocker-Status, Defender-Status vom Agenten
- RiskPage hat keinen PDF-Export (ISO 27001 verlangt Nachweis)
- IsoPage hat kein Reporting/Dashboard (nur Checkliste)
- SecurityReportsPage ist rein manuell — kein automatischer Report-Import/Trigger
- ScannerPage ist ausbaubar: keine automatische Asset-Übernahme ins Asset-Modul
- AnlagevermoegenPage fehlt Abschreibungs-Berechnung und Export
- Kein globales Audit-Dashboard (nur pro-User in UserPage)
- Teams-Tab in EntraPage nicht vollständig (Team.ReadBasic.All Permission fehlt laut CLAUDE.md)
- FidoKeysPage könnte Entra-Sync für WebAuthn-Methoden bekommen
Cron-Jobs & Background-Services
| Service | Intervall | Zweck | Bedingung |
|---|---|---|---|
| Graph API Mail-Polling | alle 30 Sek. | E-Mails abrufen und zu Tickets konvertieren | AZURE_TENANT_ID gesetzt |
| Monitoring-Postfach | alle 30 Sek. | Netgo/Monitoring-Alerts als External Alerts | MONITORING_MAILBOX gesetzt |
| MDO Alert Polling | alle 5 Min. | Microsoft Defender for Office 365 Alerts | AZURE_TENANT_ID gesetzt |
| Planner Auto-Sync | alle 10 Sek. | IT-Topics mit Microsoft Planner synchronisieren | PLANNER_PLAN_ID gesetzt |
| Eskalations-Check | stündlich | Überfällige Tickets eskalieren, SLA-Benachrichtigungen | immer aktiv |
| Shares-Cleanup | alle 15 Min. | Abgelaufene/verbrauchte Share-Links löschen | immer aktiv |
| Mindestbestand-Check | täglich 07:00 | Lager-Unterschreitungen per E-Mail melden | immer aktiv |
| Health-History | alle 5 Min. | API/DB-Status in health_history aufzeichnen | immer aktiv |
| Wöchentlicher Bericht | Mo. 08:00 | Ticket-Wochen-Report per E-Mail | immer aktiv |
| Wartungs-Benachrichtigung | täglich 08:00 | Fällige Asset-Wartungen per E-Mail | immer aktiv |
| Netzwerk-Monitoring-Poller | konfigurierbar | ICMP/SNMP-Checks, E-Mail-Alert bei Down/Up | immer aktiv |
| Teams Channel Polling | alle 10 Min. | Neue Teams-Nachrichten/Kanäle erkennen | AZURE_TENANT_ID gesetzt |
| Proxmox Monitoring | alle 5 Min. | VM/CT-Status von Proxmox REST API pollen | PROXMOX_HOST gesetzt |
| Check-History Cleanup | täglich 03:00 | Alte Netzwerk-Check-Historien bereinigen | immer aktiv |