# mayankbajaj21/security-operations-dashboard architecture

> Architecture diagram of the GitHub repository mayankbajaj21/security-operations-dashboard, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mayankbajaj21/security-operations-dashboard
- Repository: https://github.com/mayankbajaj21/security-operations-dashboard

## Overview

This repository is an AI-assisted security operations dashboard: analysts sign in, view aggregated security telemetry and threat intelligence, investigate incidents and attack chains, and review risk and mitigation analytics. The React application requests data through its API client; FastAPI registers the REST surface, and the sampled authentication flow persists identities in MongoDB. The tree also documents prediction, vulnerability, posture, reporting, and MITRE capabilities. Their precise runtime wiring is not shown in the excerpts, so those links are not inferred.

Main entry points: [`backend/app/main.py`](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/main.py) (FastAPI entry), [`frontend/src/App.jsx`](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/App.jsx) (Dashboard app), [`frontend/src/services/api.js`](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/services/api.js) (API client), [`backend/app/api/auth.py`](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/auth.py) (Authentication routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Analyst dashboard"]
  node_app["Dashboard app<br/>[App.jsx]"]
  node_pages["Investigation pages"]
  node_api_client["API client<br/>[api.js]"]
end

subgraph group_api["REST API"]
  node_api_main["FastAPI entry<br/>[main.py]"]
  node_api_routes["REST routes"]
  node_auth_route["Authentication routes<br/>[auth.py]"]
  node_risk_route["Risk routes<br/>[risk.py]"]
  node_event_route["Event routes<br/>[events.py]"]
  node_chain_route["Attack-chain routes<br/>[attack_chains.py]"]
  node_incident_route["Incident routes<br/>[incidents.py]"]
  node_prediction_route["Prediction routes<br/>[predictions.py]"]
  node_threat_intel["Threat intelligence routes<br/>[threat_intel.py]"]
  node_mitre["MITRE routes<br/>[mitre.py]"]
end

subgraph group_analysis["Security analysis"]
  node_risk_engine["Risk scoring<br/>[risk_engine.py]"]
  node_correlation["Event correlation"]
  node_incident_service["Incident lifecycle"]
  node_ml["Threat ML"]
  node_posture["Posture service<br/>[posture_service.py]"]
  node_reports["Report service<br/>[report_service.py]"]
end

subgraph group_state["Identity and storage"]
  node_auth_service["Authentication service<br/>[auth_service.py]"]
  node_database[("MongoDB connection<br/>[database.py]")]
end

node_analyst(("SOC analyst"))
node_mongo[("MongoDB")]

node_analyst -->|"uses"| node_app
node_app -->|"renders"| node_pages
node_app -->|"requests data"| node_api_client
node_api_client -->|"HTTP requests"| node_api_main
node_api_main -->|"registers"| node_api_routes
node_api_main -->|"registers"| node_auth_route
node_api_main -->|"registers"| node_risk_route
node_api_main -->|"registers"| node_event_route
node_api_main -->|"registers"| node_chain_route
node_api_main -->|"registers"| node_incident_route
node_api_main -->|"registers"| node_prediction_route
node_api_main -->|"registers"| node_threat_intel
node_api_main -->|"registers"| node_mitre
node_auth_route -->|"calls"| node_auth_service
node_auth_service -->|"gets database"| node_database
node_database -->|"connects"| node_mongo

click node_app "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/App.jsx"
click node_pages "https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/frontend/src/pages"
click node_api_client "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/services/api.js"
click node_api_main "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/main.py"
click node_api_routes "https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/backend/app/api"
click node_auth_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/auth.py"
click node_auth_service "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/auth_service.py"
click node_risk_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/risk.py"
click node_risk_engine "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/risk_engine.py"
click node_event_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/events.py"
click node_chain_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/attack_chains.py"
click node_correlation "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/correlation_engine.py"
click node_incident_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/incidents.py"
click node_incident_service "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/incident_service.py"
click node_prediction_route "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/predictions.py"
click node_ml "https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/backend/ml"
click node_threat_intel "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/threat_intel.py"
click node_mitre "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/mitre.py"
click node_posture "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/posture_service.py"
click node_reports "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/report_service.py"
click node_database "https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/core/database.py"

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_app,node_pages,node_api_client toneBlue
class node_api_main,node_api_routes,node_auth_route,node_risk_route,node_event_route,node_chain_route,node_incident_route,node_prediction_route,node_threat_intel,node_mitre,node_mongo toneAmber
class node_risk_engine,node_correlation,node_incident_service,node_ml,node_posture,node_reports toneMint
class node_auth_service,node_database toneRose
class node_analyst toneIndigo
```

## Components

### Analyst dashboard

- [Dashboard app](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Investigation pages](https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/frontend/src/pages): `frontend/src/pages`
- [API client](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/frontend/src/services/api.js): `frontend/src/services/api.js`

### REST API

- [FastAPI entry](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/main.py): `backend/app/main.py`
- [REST routes](https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/backend/app/api): `backend/app/api`
- [Authentication routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/auth.py): `backend/app/api/auth.py`
- [Risk routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/risk.py): `backend/app/api/risk.py`
- [Event routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/events.py): `backend/app/api/events.py`
- [Attack-chain routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/attack_chains.py): `backend/app/api/attack_chains.py`
- [Incident routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/incidents.py): `backend/app/api/incidents.py`
- [Prediction routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/predictions.py): `backend/app/api/predictions.py`
- [Threat intelligence routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/threat_intel.py): `backend/app/api/threat_intel.py`
- [MITRE routes](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/api/mitre.py): `backend/app/api/mitre.py`

### Security analysis

- [Risk scoring](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/risk_engine.py): `backend/app/services/risk_engine.py`
- [Event correlation](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/correlation_engine.py): `backend/app/services/correlation_engine.py`
- [Incident lifecycle](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/incident_service.py): `backend/app/services/incident_service.py`
- [Threat ML](https://github.com/mayankbajaj21/security-operations-dashboard/tree/main/backend/ml): `backend/ml`
- [Posture service](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/posture_service.py): `backend/app/services/posture_service.py`
- [Report service](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/report_service.py): `backend/app/services/report_service.py`

### Identity and storage

- [Authentication service](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/services/auth_service.py): `backend/app/services/auth_service.py`
- [MongoDB connection](https://github.com/mayankbajaj21/security-operations-dashboard/blob/main/backend/app/core/database.py): `backend/app/core/database.py`

### Other components

- **SOC analyst**
- **MongoDB**

## Connections

- SOC analyst → Dashboard app: uses
- Dashboard app → Investigation pages: renders
- Dashboard app → API client: requests data
- API client → FastAPI entry: HTTP requests
- FastAPI entry → REST routes: registers
- FastAPI entry → Authentication routes: registers
- FastAPI entry → Risk routes: registers
- FastAPI entry → Event routes: registers
- FastAPI entry → Attack-chain routes: registers
- FastAPI entry → Incident routes: registers
- FastAPI entry → Prediction routes: registers
- FastAPI entry → Threat intelligence routes: registers
- FastAPI entry → MITRE routes: registers
- Authentication routes → Authentication service: calls
- Authentication service → MongoDB connection: gets database
- MongoDB connection → MongoDB: connects
