# sagar-1212/cybertrace architecture

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

- Interactive diagram: https://gitdiagram.com/sagar-1212/cybertrace
- Repository: https://github.com/sagar-1212/cybertrace

## Overview

CyberTrace is a financial-crime intelligence platform. Investigators work from complaints and transaction records to examine account networks, assess risks, generate ATM withdrawal forecasts, and manage alerts and cases. The React application presents these workflows; an Express API handles requests and in-memory application data, while analytics engines and Python ML scripts provide analysis and ranking. The documented ledger, geospatial, cross-rail, crypto-forensics, AI, and simulation capabilities are included. Some subsystem connections are documented only at product level; unsampled implementation details are not inferred.

Main entry points: [`server.ts`](https://github.com/sagar-1212/cybertrace/blob/main/server.ts) (Express API), [`src/App.tsx`](https://github.com/sagar-1212/cybertrace/blob/main/src/App.tsx) (React Workspace), [`src/services/api.ts`](https://github.com/sagar-1212/cybertrace/blob/main/src/services/api.ts) (API Client), [`src/utils/predictionEngine.ts`](https://github.com/sagar-1212/cybertrace/blob/main/src/utils/predictionEngine.ts) (ATM Risk Prediction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Investigation Workspace"]
  node_ui["React Workspace<br/>[App.tsx]"]
  node_complaints["Complaint Management<br/>[ComplaintsPage.tsx]"]
  node_dashboard["Crime Dashboard<br/>[DashboardPage.tsx]"]
  node_casework["Investigations"]
  node_ledger["Forensic Ledger"]
  node_ai["AI Assistant"]
end

subgraph group_api["Application Services"]
  node_api_client["API Client<br/>[api.ts]"]
  node_server["Express API<br/>[server.ts]"]
  node_state["Application Data<br/>[mockData.ts]"]
end

subgraph group_analysis["Financial Analysis"]
  node_network["Mule Network Analysis"]
  node_crypto["Crypto Forensics"]
  node_crossrail["Cross-Rail Tracing<br/>[crossRailEngine.ts]"]
  node_early["Early Warning"]
  node_alerts["Alert Management<br/>[AlertsPage.tsx]"]
end

subgraph group_prediction["Withdrawal Intelligence"]
  node_prediction["ATM Risk Prediction"]
  node_gis["Geospatial Intelligence<br/>[GisMapPage.tsx]"]
  node_ml["ML Ranking Pipeline<br/>[predict.py]"]
end

subgraph group_support["Data and ML"]
  node_simulator["Scenario Simulator<br/>[generator.ts]"]
  node_crypto_data["Crypto Dataset Ingestion<br/>[ingestElliptic.ts]"]
end

node_investigator(("Investigator"))

node_investigator -->|"uses"| node_ui
node_ui -->|"routes to"| node_complaints
node_ui -->|"routes to"| node_dashboard
node_ui -->|"routes to"| node_casework
node_ui -->|"routes to"| node_ledger
node_ui -->|"routes to"| node_crypto
node_ui -->|"routes to"| node_crossrail
node_complaints -.->|"submits records"| node_api_client
node_api_client -->|"requests data"| node_server
node_server -->|"reads and updates"| node_state
node_server -->|"runs fallback"| node_prediction
node_api_client -->|"computes fallback"| node_prediction
node_api_client -->|"computes network"| node_network
node_server -->|"uses analysis"| node_network
node_server -->|"uses analysis"| node_crypto
node_server -->|"uses analysis"| node_crossrail
node_server -->|"uses analysis"| node_early
node_alerts -->|"displays alerts"| node_early
node_prediction -.->|"supplies risk data"| node_gis
node_ml -.->|"ranks candidates"| node_prediction
node_simulator -.->|"provides scenarios"| node_server
node_crypto_data -.->|"provides dataset"| node_crypto
node_ai -->|"requests assistance"| node_api_client

click node_ui "https://github.com/sagar-1212/cybertrace/blob/main/src/App.tsx"
click node_complaints "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/ComplaintsPage.tsx"
click node_dashboard "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/DashboardPage.tsx"
click node_casework "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/InvestigationsPage.tsx"
click node_ledger "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/BlockchainLedgerPage.tsx"
click node_ai "https://github.com/sagar-1212/cybertrace/blob/main/src/components/ai/AiCopilotDrawer.tsx"
click node_api_client "https://github.com/sagar-1212/cybertrace/blob/main/src/services/api.ts"
click node_server "https://github.com/sagar-1212/cybertrace/blob/main/server.ts"
click node_state "https://github.com/sagar-1212/cybertrace/blob/main/src/data/mockData.ts"
click node_network "https://github.com/sagar-1212/cybertrace/blob/main/src/modules/muleDetection/muleDetectionEngine.ts"
click node_crypto "https://github.com/sagar-1212/cybertrace/blob/main/src/modules/cryptoForensics/cryptoGraphEngine.ts"
click node_crossrail "https://github.com/sagar-1212/cybertrace/blob/main/src/modules/crossRail/crossRailEngine.ts"
click node_early "https://github.com/sagar-1212/cybertrace/blob/main/src/modules/earlyWarning/earlyWarningEngine.ts"
click node_alerts "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/AlertsPage.tsx"
click node_prediction "https://github.com/sagar-1212/cybertrace/blob/main/src/utils/predictionEngine.ts"
click node_gis "https://github.com/sagar-1212/cybertrace/blob/main/src/pages/GisMapPage.tsx"
click node_ml "https://github.com/sagar-1212/cybertrace/blob/main/ml/predict.py"
click node_simulator "https://github.com/sagar-1212/cybertrace/blob/main/simulator/generator.ts"
click node_crypto_data "https://github.com/sagar-1212/cybertrace/blob/main/src/modules/cryptoDataset/ingestElliptic.ts"

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_ui,node_complaints,node_dashboard,node_casework,node_ledger,node_ai toneBlue
class node_api_client,node_server,node_state toneAmber
class node_network,node_crypto,node_crossrail,node_early,node_alerts toneMint
class node_prediction,node_gis,node_ml toneRose
class node_simulator,node_crypto_data,node_investigator toneIndigo
```

## Components

### Investigation Workspace

- [React Workspace](https://github.com/sagar-1212/cybertrace/blob/main/src/App.tsx): `src/App.tsx`
- [Complaint Management](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/ComplaintsPage.tsx): `src/pages/ComplaintsPage.tsx`
- [Crime Dashboard](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/DashboardPage.tsx): `src/pages/DashboardPage.tsx`
- [Investigations](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/InvestigationsPage.tsx): `src/pages/InvestigationsPage.tsx`
- [Forensic Ledger](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/BlockchainLedgerPage.tsx): `src/pages/BlockchainLedgerPage.tsx`
- [AI Assistant](https://github.com/sagar-1212/cybertrace/blob/main/src/components/ai/AiCopilotDrawer.tsx): `src/components/ai/AiCopilotDrawer.tsx`

### Application Services

- [API Client](https://github.com/sagar-1212/cybertrace/blob/main/src/services/api.ts): `src/services/api.ts`
- [Express API](https://github.com/sagar-1212/cybertrace/blob/main/server.ts): `server.ts`
- [Application Data](https://github.com/sagar-1212/cybertrace/blob/main/src/data/mockData.ts): `src/data/mockData.ts`

### Financial Analysis

- [Mule Network Analysis](https://github.com/sagar-1212/cybertrace/blob/main/src/modules/muleDetection/muleDetectionEngine.ts): `src/modules/muleDetection/muleDetectionEngine.ts`
- [Crypto Forensics](https://github.com/sagar-1212/cybertrace/blob/main/src/modules/cryptoForensics/cryptoGraphEngine.ts): `src/modules/cryptoForensics/cryptoGraphEngine.ts`
- [Cross-Rail Tracing](https://github.com/sagar-1212/cybertrace/blob/main/src/modules/crossRail/crossRailEngine.ts): `src/modules/crossRail/crossRailEngine.ts`
- [Early Warning](https://github.com/sagar-1212/cybertrace/blob/main/src/modules/earlyWarning/earlyWarningEngine.ts): `src/modules/earlyWarning/earlyWarningEngine.ts`
- [Alert Management](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/AlertsPage.tsx): `src/pages/AlertsPage.tsx`

### Withdrawal Intelligence

- [ATM Risk Prediction](https://github.com/sagar-1212/cybertrace/blob/main/src/utils/predictionEngine.ts): `src/utils/predictionEngine.ts`
- [Geospatial Intelligence](https://github.com/sagar-1212/cybertrace/blob/main/src/pages/GisMapPage.tsx): `src/pages/GisMapPage.tsx`
- [ML Ranking Pipeline](https://github.com/sagar-1212/cybertrace/blob/main/ml/predict.py): `ml/predict.py`

### Data and ML

- [Scenario Simulator](https://github.com/sagar-1212/cybertrace/blob/main/simulator/generator.ts): `simulator/generator.ts`
- [Crypto Dataset Ingestion](https://github.com/sagar-1212/cybertrace/blob/main/src/modules/cryptoDataset/ingestElliptic.ts): `src/modules/cryptoDataset/ingestElliptic.ts`

### Other components

- **Investigator**

## Connections

- Investigator → React Workspace: uses (evidence: `README.md`)
- React Workspace → Complaint Management: routes to (evidence: `src/App.tsx`)
- React Workspace → Crime Dashboard: routes to (evidence: `src/App.tsx`)
- React Workspace → Investigations: routes to (evidence: `src/App.tsx`)
- React Workspace → Forensic Ledger: routes to (evidence: `src/App.tsx`)
- React Workspace → Crypto Forensics: routes to (evidence: `src/App.tsx`)
- React Workspace → Cross-Rail Tracing: routes to (evidence: `src/App.tsx`)
- Complaint Management → API Client: submits records
- API Client → Express API: requests data (evidence: `src/services/api.ts`)
- Express API → Application Data: reads and updates (evidence: `server.ts`)
- Express API → ATM Risk Prediction: runs fallback (evidence: `server.ts`)
- API Client → ATM Risk Prediction: computes fallback (evidence: `src/services/api.ts`)
- API Client → Mule Network Analysis: computes network (evidence: `src/services/api.ts`)
- Express API → Mule Network Analysis: uses analysis (evidence: `server.ts`)
- Express API → Crypto Forensics: uses analysis (evidence: `server.ts`)
- Express API → Cross-Rail Tracing: uses analysis (evidence: `server.ts`)
- Express API → Early Warning: uses analysis (evidence: `server.ts`)
- Alert Management → Early Warning: displays alerts (evidence: `src/pages/AlertsPage.tsx`)
- ATM Risk Prediction → Geospatial Intelligence: supplies risk data
- ML Ranking Pipeline → ATM Risk Prediction: ranks candidates (evidence: `README.md`)
- Scenario Simulator → Express API: provides scenarios (evidence: `README.md`)
- Crypto Dataset Ingestion → Crypto Forensics: provides dataset (evidence: `README.md`)
- AI Assistant → API Client: requests assistance (evidence: `src/components/ai/AiCopilotDrawer.tsx`)
