# p-saiprasanth/cyber_squad_sih architecture

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

- Interactive diagram: https://gitdiagram.com/p-saiprasanth/cyber_squad_sih
- Repository: https://github.com/p-saiprasanth/cyber_squad_sih

## Overview

Cyber Squad is a cyber-investigation case platform: investigators use a web interface to work cases, evidence, entities, and relationship graphs, with analysis, dashboards, and AI-assisted link prediction as supporting capabilities. The FastAPI app registers the domain routers, and the frontend routes to landing, login, dashboard, and investigation pages. AIService coordinates feature extraction, temporal analysis, prediction, and explanations. The README is empty and most route and page implementations were not sampled, so links between UI, API, storage, and security components are not asserted.

Main entry points: [`backend/backend/main.py`](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/main.py) (FastAPI App), [`frontend/src/App.tsx`](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/App.tsx) (UI Router), [`AI_layer/ai_service.py`](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/ai_service.py) (AI Service), [`frontend/src/pages/Landing.tsx`](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Landing.tsx) (Landing Page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Investigation UI"]
  node_app["UI Router<br/>[App.tsx]"]
  node_landing["Landing Page<br/>[Landing.tsx]"]
  node_login["Login Page<br/>[Login.tsx]"]
  node_dashboard["Dashboard<br/>[Dashboard.tsx]"]
  node_investigation["Investigation Page<br/>[Investigation.tsx]"]
end

subgraph group_api["Backend API"]
  node_api["FastAPI App<br/>[main.py]"]
  node_cases["Cases API<br/>[cases.py]"]
  node_evidence["Evidence API<br/>[evidence.py]"]
  node_analysis["Analysis API<br/>[analysis.py]"]
  node_graph["Graph API<br/>[graph.py]"]
  node_entities["Entities API<br/>[entities.py]"]
  node_dashapi["Dashboard API<br/>[dashboard.py]"]
  node_authapi["Authentication API<br/>[auth.py]"]
  node_securityapi["Security API<br/>[security.py]"]
  node_aiapi["AI API<br/>[ai.py]"]
  node_case_store[("Case Store<br/>[database.py]")]
  node_graph_service["Graph Service<br/>[neo4j_service.py]"]
end

subgraph group_ai["AI Analysis"]
  node_ai_service["AI Service<br/>[ai_service.py]"]
  node_features["Graph Features<br/>[graph_features.py]"]
  node_temporal["Temporal Analysis"]
  node_prediction["Link Prediction<br/>[link_prediction.py]"]
  node_explanation["AI Explanation<br/>[explanation.py]"]
end

subgraph group_security["Security"]
  node_security_module_api["Security Module API<br/>[api.py]"]
  node_rbac["Auth and RBAC<br/>[auth.py]"]
  node_validation["Input Validation"]
  node_guardrails["AI Guardrails<br/>[ai_guardrails.py]"]
  node_integrity["Evidence Integrity<br/>[blockchain.py]"]
  node_audit["Audit Logging<br/>[audit.py]"]
end

node_investigator(("Investigator"))

node_investigator -->|"uses"| node_app
node_app -->|"routes to"| node_landing
node_app -->|"routes to"| node_login
node_app -->|"routes to"| node_dashboard
node_app -->|"routes to"| node_investigation
node_api -->|"registers"| node_cases
node_api -->|"registers"| node_evidence
node_api -->|"registers"| node_analysis
node_api -->|"registers"| node_graph
node_api -->|"registers"| node_dashapi
node_api -->|"registers"| node_authapi
node_api -->|"registers"| node_entities
node_api -->|"registers"| node_securityapi
node_api -->|"registers"| node_aiapi
node_ai_service -->|"extracts features"| node_features
node_ai_service -->|"analyzes timing"| node_temporal
node_ai_service -->|"predicts links"| node_prediction
node_ai_service -->|"generates reasons"| node_explanation

click node_app "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/App.tsx"
click node_landing "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Landing.tsx"
click node_login "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Login.tsx"
click node_dashboard "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Dashboard.tsx"
click node_investigation "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Investigation.tsx"
click node_api "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/main.py"
click node_cases "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/cases.py"
click node_evidence "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/evidence.py"
click node_analysis "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/analysis.py"
click node_graph "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/graph.py"
click node_entities "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/entities.py"
click node_dashapi "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/dashboard.py"
click node_authapi "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/auth.py"
click node_securityapi "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/security.py"
click node_aiapi "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/ai.py"
click node_case_store "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/services/database.py"
click node_graph_service "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/services/neo4j_service.py"
click node_ai_service "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/ai_service.py"
click node_features "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/graph_features.py"
click node_temporal "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/temporal_analysis.py"
click node_prediction "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/link_prediction.py"
click node_explanation "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/explanation.py"
click node_security_module_api "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/api.py"
click node_rbac "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/auth.py"
click node_validation "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/input_validation.py"
click node_guardrails "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/ai_guardrails.py"
click node_integrity "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/blockchain.py"
click node_audit "https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/audit.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_landing,node_login,node_dashboard,node_investigation toneBlue
class node_api,node_cases,node_evidence,node_analysis,node_graph,node_entities,node_dashapi,node_authapi,node_securityapi,node_aiapi,node_case_store,node_graph_service toneAmber
class node_ai_service,node_features,node_temporal,node_prediction,node_explanation toneMint
class node_security_module_api,node_rbac,node_validation,node_guardrails,node_integrity,node_audit toneRose
class node_investigator toneIndigo
```

## Components

### Investigation UI

- [UI Router](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Landing Page](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Landing.tsx): `frontend/src/pages/Landing.tsx`
- [Login Page](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Login.tsx): `frontend/src/pages/Login.tsx`
- [Dashboard](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Dashboard.tsx): `frontend/src/pages/Dashboard.tsx`
- [Investigation Page](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/frontend/src/pages/Investigation.tsx): `frontend/src/pages/Investigation.tsx`

### Backend API

- [FastAPI App](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/main.py): `backend/backend/main.py`
- [Cases API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/cases.py): `backend/backend/routes/cases.py`
- [Evidence API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/evidence.py): `backend/backend/routes/evidence.py`
- [Analysis API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/analysis.py): `backend/backend/routes/analysis.py`
- [Graph API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/graph.py): `backend/backend/routes/graph.py`
- [Entities API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/entities.py): `backend/backend/routes/entities.py`
- [Dashboard API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/dashboard.py): `backend/backend/routes/dashboard.py`
- [Authentication API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/auth.py): `backend/backend/routes/auth.py`
- [Security API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/security.py): `backend/backend/routes/security.py`
- [AI API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/routes/ai.py): `backend/backend/routes/ai.py`
- [Case Store](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/services/database.py): `backend/backend/services/database.py`
- [Graph Service](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/backend/backend/services/neo4j_service.py): `backend/backend/services/neo4j_service.py`

### AI Analysis

- [AI Service](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/ai_service.py): `AI_layer/ai_service.py`
- [Graph Features](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/graph_features.py): `AI_layer/graph_features.py`
- [Temporal Analysis](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/temporal_analysis.py): `AI_layer/temporal_analysis.py`
- [Link Prediction](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/link_prediction.py): `AI_layer/link_prediction.py`
- [AI Explanation](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/AI_layer/explanation.py): `AI_layer/explanation.py`

### Security

- [Security Module API](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/api.py): `security_module/api.py`
- [Auth and RBAC](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/auth.py): `security_module/security/auth.py`
- [Input Validation](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/input_validation.py): `security_module/security/input_validation.py`
- [AI Guardrails](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/ai_guardrails.py): `security_module/security/ai_guardrails.py`
- [Evidence Integrity](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/blockchain.py): `security_module/security/blockchain.py`
- [Audit Logging](https://github.com/p-saiprasanth/cyber_squad_sih/blob/main/security_module/security/audit.py): `security_module/security/audit.py`

### Other components

- **Investigator**

## Connections

- Investigator → UI Router: uses
- UI Router → Landing Page: routes to
- UI Router → Login Page: routes to
- UI Router → Dashboard: routes to
- UI Router → Investigation Page: routes to
- FastAPI App → Cases API: registers
- FastAPI App → Evidence API: registers
- FastAPI App → Analysis API: registers
- FastAPI App → Graph API: registers
- FastAPI App → Dashboard API: registers
- FastAPI App → Authentication API: registers
- FastAPI App → Entities API: registers
- FastAPI App → Security API: registers
- FastAPI App → AI API: registers
- AI Service → Graph Features: extracts features
- AI Service → Temporal Analysis: analyzes timing
- AI Service → Link Prediction: predicts links
- AI Service → AI Explanation: generates reasons
