# sanay7-devv/frusk-oops-project architecture

> Architecture diagram of the GitHub repository sanay7-devv/frusk-oops-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sanay7-devv/frusk-oops-project
- Repository: https://github.com/sanay7-devv/frusk-oops-project

## Overview

IITSM Enterprise is a role-driven IT service-management application: employees report incidents, and operations teams triage, assign, work, escalate, and resolve them, with governance and analytics alongside the lifecycle. The graph combines the documented workspaces with sampled backend services and frontend routing. Relationships are included only where the README or shown source/index references support them; other listed capabilities are represented without speculative call paths.

Main entry points: [`backend/src/main/java/com/iitsm/application/incident/IncidentService.java`](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/incident/IncidentService.java) (Incident lifecycle), [`frontend/src/main.tsx`](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/main.tsx) (SPA entry and routing), [`frontend/src/features/admin/Services.tsx`](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/admin/Services.tsx) (Service administration), [`frontend/src/features/employee/ReportIncident.tsx`](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/employee/ReportIncident.tsx) (Employee portal)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Role Workspaces"]
  node_frontend_entry["SPA entry and routing<br/>[main.tsx]"]
  node_employee_workspace["Employee portal<br/>[ReportIncident.tsx]"]
  node_technician_workspace["Technician workbench<br/>[TechWorkbench.tsx]"]
  node_lead_workspace["Lead escalations<br/>[Escalations.tsx]"]
  node_admin_workspace["Service administration<br/>[Services.tsx]"]
end

subgraph group_incident_ops["Incident Operations"]
  node_incident_lifecycle["Incident lifecycle"]
  node_incident_state["Incident domain state<br/>[Incident.java]"]
  node_assignment["Technician assignment"]
  node_problems["Problem management"]
  node_sla_escalation["SLA and escalation"]
  node_intelligence["AI intake and analysis"]
end

subgraph group_governance["Governance and Insight"]
  node_catalog_graph["Service catalog and graph"]
  node_analytics_reports["Dashboards and reports<br/>[ReportService.java]"]
  node_audit["Audit trail<br/>[AuditService.java]"]
end

subgraph group_platform["Identity and Configuration"]
  node_auth["Authentication<br/>[AuthService.java]"]
  node_config["Runtime configuration<br/>[ConfigService.java]"]
end

node_user(("Workforce users"))

node_user -->|"uses"| node_frontend_entry
node_frontend_entry -->|"routes to"| node_employee_workspace
node_frontend_entry -->|"routes to"| node_technician_workspace
node_frontend_entry -->|"routes to"| node_lead_workspace
node_frontend_entry -->|"routes to"| node_admin_workspace
node_user -->|"signs in"| node_auth
node_incident_lifecycle -->|"updates"| node_incident_state
node_incident_lifecycle -->|"delegates to"| node_assignment
node_incident_lifecycle -->|"delegates to"| node_problems
node_incident_lifecycle -->|"records actions"| node_audit
node_incident_lifecycle -->|"reads settings"| node_config
node_problems -->|"publishes incident facts"| node_incident_lifecycle
node_admin_workspace -->|"manages services"| node_catalog_graph
node_admin_workspace -->|"views analytics"| node_analytics_reports
node_technician_workspace -->|"works incidents"| node_incident_lifecycle
node_lead_workspace -->|"handles escalations"| node_sla_escalation
node_employee_workspace -->|"reports incidents"| node_incident_lifecycle

click node_frontend_entry "https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/main.tsx"
click node_employee_workspace "https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/employee/ReportIncident.tsx"
click node_technician_workspace "https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/technician/TechWorkbench.tsx"
click node_lead_workspace "https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/lead/Escalations.tsx"
click node_admin_workspace "https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/admin/Services.tsx"
click node_incident_lifecycle "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/incident/IncidentService.java"
click node_incident_state "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/domain/incident/Incident.java"
click node_assignment "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/assignment/AssignmentService.java"
click node_problems "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/problem/ProblemService.java"
click node_sla_escalation "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/escalation/EscalationService.java"
click node_intelligence "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/intelligence/IntelligenceService.java"
click node_catalog_graph "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/graph/ServiceGraphService.java"
click node_analytics_reports "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/report/ReportService.java"
click node_audit "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/audit/AuditService.java"
click node_auth "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/auth/AuthService.java"
click node_config "https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/config/ConfigService.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_frontend_entry,node_employee_workspace,node_technician_workspace,node_lead_workspace,node_admin_workspace,node_user toneBlue
class node_incident_lifecycle,node_incident_state,node_assignment,node_problems,node_sla_escalation,node_intelligence toneAmber
class node_catalog_graph,node_analytics_reports,node_audit toneMint
class node_auth,node_config toneRose
```

## Components

### Role Workspaces

- [SPA entry and routing](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/main.tsx): `frontend/src/main.tsx`
- [Employee portal](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/employee/ReportIncident.tsx): `frontend/src/features/employee/ReportIncident.tsx`
- [Technician workbench](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/technician/TechWorkbench.tsx): `frontend/src/features/technician/TechWorkbench.tsx`
- [Lead escalations](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/lead/Escalations.tsx): `frontend/src/features/lead/Escalations.tsx`
- [Service administration](https://github.com/sanay7-devv/frusk-oops-project/blob/main/frontend/src/features/admin/Services.tsx): `frontend/src/features/admin/Services.tsx`

### Incident Operations

- [Incident lifecycle](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/incident/IncidentService.java): `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`
- [Incident domain state](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/domain/incident/Incident.java): `backend/src/main/java/com/iitsm/domain/incident/Incident.java`
- [Technician assignment](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/assignment/AssignmentService.java): `backend/src/main/java/com/iitsm/application/assignment/AssignmentService.java`
- [Problem management](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/problem/ProblemService.java): `backend/src/main/java/com/iitsm/application/problem/ProblemService.java`
- [SLA and escalation](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/escalation/EscalationService.java): `backend/src/main/java/com/iitsm/application/escalation/EscalationService.java`
- [AI intake and analysis](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/intelligence/IntelligenceService.java): `backend/src/main/java/com/iitsm/application/intelligence/IntelligenceService.java`

### Governance and Insight

- [Service catalog and graph](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/graph/ServiceGraphService.java): `backend/src/main/java/com/iitsm/application/graph/ServiceGraphService.java`
- [Dashboards and reports](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/report/ReportService.java): `backend/src/main/java/com/iitsm/application/report/ReportService.java`
- [Audit trail](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/audit/AuditService.java): `backend/src/main/java/com/iitsm/application/audit/AuditService.java`

### Identity and Configuration

- [Authentication](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/auth/AuthService.java): `backend/src/main/java/com/iitsm/application/auth/AuthService.java`
- [Runtime configuration](https://github.com/sanay7-devv/frusk-oops-project/blob/main/backend/src/main/java/com/iitsm/application/config/ConfigService.java): `backend/src/main/java/com/iitsm/application/config/ConfigService.java`

### Other components

- **Workforce users**

## Connections

- Workforce users → SPA entry and routing: uses (evidence: `README.md`)
- SPA entry and routing → Employee portal: routes to
- SPA entry and routing → Technician workbench: routes to
- SPA entry and routing → Lead escalations: routes to
- SPA entry and routing → Service administration: routes to
- Workforce users → Authentication: signs in (evidence: `README.md`)
- Incident lifecycle → Incident domain state: updates (evidence: `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`)
- Incident lifecycle → Technician assignment: delegates to (evidence: `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`)
- Incident lifecycle → Problem management: delegates to (evidence: `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`)
- Incident lifecycle → Audit trail: records actions (evidence: `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`)
- Incident lifecycle → Runtime configuration: reads settings (evidence: `backend/src/main/java/com/iitsm/application/incident/IncidentService.java`)
- Problem management → Incident lifecycle: publishes incident facts (evidence: `backend/src/main/java/com/iitsm/application/problem/ProblemService.java`)
- Service administration → Service catalog and graph: manages services (evidence: `README.md`)
- Service administration → Dashboards and reports: views analytics (evidence: `README.md`)
- Technician workbench → Incident lifecycle: works incidents (evidence: `README.md`)
- Lead escalations → SLA and escalation: handles escalations (evidence: `README.md`)
- Employee portal → Incident lifecycle: reports incidents (evidence: `README.md`)
