# koyyadarohith/network-traffic-analysis architecture

> Architecture diagram of the GitHub repository koyyadarohith/network-traffic-analysis, 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/koyyadarohith/network-traffic-analysis
- Repository: https://github.com/koyyadarohith/network-traffic-analysis

## Overview

CyberFlow Intelligence turns CICIDS2017 network-flow records into a cleaned dataset, a MySQL star-schema warehouse, OLAP analysis, and supervised traffic classification. Users explore dashboard and dataset views, run multidimensional warehouse analysis, inspect model performance, or upload CSV traffic for prediction and reporting. The graph preserves these distinct analytical stages and the frontend-to-API entry points supported by the README and sampled code. Several backend router implementations and training details are unsampled, so uncertain internal calls are omitted.

Main entry points: [`frontend/src/App.jsx`](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/App.jsx) (React application), [`backend/main.py`](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/main.py) (FastAPI application), [`frontend/src/api`](https://github.com/koyyadarohith/network-traffic-analysis/tree/main/frontend/src/api) (Frontend API clients), [`backend/database.py`](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/database.py) (Database connection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Analytical interface"]
  node_app["React application<br/>[App.jsx]"]
  node_dashboard_ui["Dashboard view<br/>[App.jsx]"]
  node_warehouse_ui["Warehouse view<br/>[DataWarehouse.jsx]"]
  node_olap_ui["OLAP analysis<br/>[OLAPAnalysis.jsx]"]
  node_mining_ui["Data mining<br/>[DataMining.jsx]"]
  node_report_ui["Report analysis<br/>[ReportAnalysis.jsx]"]
  node_dataset_ui["Dataset explorer"]
  node_prediction_ui["Traffic prediction"]
  node_api_clients["Frontend API clients"]
end

subgraph group_api["API services"]
  node_server["FastAPI application<br/>[main.py]"]
  node_analytics_routes["Traffic analytics routes<br/>[analytics.py]"]
  node_dashboard_routes["Dashboard routes<br/>[dashboard.py]"]
  node_dataset_routes["Dataset routes<br/>[dataset.py]"]
  node_dwdm_routes["DWDM routes<br/>[dwdm_analysis.py]"]
  node_prediction_routes["Prediction routes<br/>[prediction.py]"]
  node_evaluation_routes["Evaluation routes"]
  node_db_access["Database connection<br/>[database.py]"]
end

subgraph group_data["Data engineering"]
  node_cleaning["Dataset cleaning<br/>[clean_dataset.py]"]
  node_etl["Warehouse ETL<br/>[etl_load.py]"]
  node_warehouse[("MySQL warehouse")]
end

subgraph group_analysis["Analytics and ML"]
  node_olap_engine["DWDM analysis<br/>[dwdm_analysis.py]"]
  node_analytics_engine["Traffic analytics<br/>[analytics.py]"]
  node_prediction_engine["Traffic prediction<br/>[prediction.py]"]
  node_model_evaluation["Model evaluation"]
  node_models["Model assets and training"]
end

node_user(("Analyst"))
node_source_data["CICIDS2017 flows"]

node_user -->|"uses"| node_app
node_app -->|"renders"| node_dashboard_ui
node_app -->|"routes to"| node_warehouse_ui
node_app -->|"routes to"| node_olap_ui
node_app -->|"routes to"| node_mining_ui
node_app -->|"routes to"| node_report_ui
node_app -->|"routes to"| node_dataset_ui
node_dashboard_ui -->|"requests dashboard"| node_api_clients
node_warehouse_ui -->|"requests data"| node_api_clients
node_olap_ui -->|"requests OLAP"| node_api_clients
node_dataset_ui -->|"requests dataset"| node_api_clients
node_prediction_ui -->|"uploads traffic"| node_api_clients
node_api_clients -->|"calls REST API"| node_server
node_server -->|"dispatches"| node_analytics_routes
node_server -->|"dispatches"| node_dashboard_routes
node_server -->|"dispatches"| node_dataset_routes
node_server -->|"dispatches"| node_dwdm_routes
node_server -->|"dispatches"| node_prediction_routes
node_server -->|"dispatches"| node_evaluation_routes
node_source_data -->|"provides flows"| node_cleaning
node_cleaning -->|"writes cleaned data"| node_etl
node_etl -->|"loads records"| node_warehouse
node_analytics_routes -->|"delegates analytics"| node_analytics_engine
node_dashboard_routes -->|"serves dashboard data"| node_analytics_engine
node_dwdm_routes -->|"delegates OLAP"| node_olap_engine
node_prediction_routes -->|"delegates inference"| node_prediction_engine
node_evaluation_routes -->|"delegates evaluation"| node_model_evaluation
node_db_access -->|"connects to"| node_warehouse
node_olap_engine -->|"queries through"| node_db_access
node_analytics_engine -->|"queries through"| node_db_access
node_prediction_engine -->|"uses classifier"| node_models
node_model_evaluation -->|"reads model assets"| node_models

click node_app "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/App.jsx"
click node_dashboard_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/App.jsx"
click node_warehouse_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DataWarehouse.jsx"
click node_olap_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/OLAPAnalysis.jsx"
click node_mining_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DataMining.jsx"
click node_report_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/ReportAnalysis.jsx"
click node_dataset_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DatasetExplorer.jsx"
click node_prediction_ui "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/components/PredictionPreview.jsx"
click node_api_clients "https://github.com/koyyadarohith/network-traffic-analysis/tree/main/frontend/src/api"
click node_server "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/main.py"
click node_analytics_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/analytics.py"
click node_dashboard_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dashboard.py"
click node_dataset_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dataset.py"
click node_dwdm_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dwdm_analysis.py"
click node_prediction_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/prediction.py"
click node_evaluation_routes "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/model_evaluation.py"
click node_cleaning "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/preprocessing/clean_dataset.py"
click node_etl "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/database/etl_load.py"
click node_db_access "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/database.py"
click node_olap_engine "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/dwdm_analysis.py"
click node_analytics_engine "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/analytics.py"
click node_prediction_engine "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/prediction.py"
click node_model_evaluation "https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/model_evaluation.py"
click node_models "https://github.com/koyyadarohith/network-traffic-analysis/tree/main/models"

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_dashboard_ui,node_warehouse_ui,node_olap_ui,node_mining_ui,node_report_ui,node_dataset_ui,node_prediction_ui,node_api_clients toneBlue
class node_server,node_analytics_routes,node_dashboard_routes,node_dataset_routes,node_dwdm_routes,node_prediction_routes,node_evaluation_routes,node_db_access toneAmber
class node_cleaning,node_etl,node_warehouse toneMint
class node_olap_engine,node_analytics_engine,node_prediction_engine,node_model_evaluation,node_models toneRose
class node_user,node_source_data toneIndigo
```

## Components

### Analytical interface

- [React application](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Dashboard view](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Warehouse view](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DataWarehouse.jsx): `frontend/src/pages/DataWarehouse.jsx`
- [OLAP analysis](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/OLAPAnalysis.jsx): `frontend/src/pages/OLAPAnalysis.jsx`
- [Data mining](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DataMining.jsx): `frontend/src/pages/DataMining.jsx`
- [Report analysis](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/ReportAnalysis.jsx): `frontend/src/pages/ReportAnalysis.jsx`
- [Dataset explorer](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/pages/DatasetExplorer.jsx): `frontend/src/pages/DatasetExplorer.jsx`
- [Traffic prediction](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/frontend/src/components/PredictionPreview.jsx): `frontend/src/components/PredictionPreview.jsx`
- [Frontend API clients](https://github.com/koyyadarohith/network-traffic-analysis/tree/main/frontend/src/api): `frontend/src/api`

### API services

- [FastAPI application](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/main.py): `backend/main.py`
- [Traffic analytics routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/analytics.py): `backend/routers/analytics.py`
- [Dashboard routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dashboard.py): `backend/routers/dashboard.py`
- [Dataset routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dataset.py): `backend/routers/dataset.py`
- [DWDM routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/dwdm_analysis.py): `backend/routers/dwdm_analysis.py`
- [Prediction routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/prediction.py): `backend/routers/prediction.py`
- [Evaluation routes](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/routers/model_evaluation.py): `backend/routers/model_evaluation.py`
- [Database connection](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/database.py): `backend/database.py`

### Data engineering

- [Dataset cleaning](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/preprocessing/clean_dataset.py): `preprocessing/clean_dataset.py`
- [Warehouse ETL](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/database/etl_load.py): `database/etl_load.py`
- **MySQL warehouse**

### Analytics and ML

- [DWDM analysis](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/dwdm_analysis.py): `backend/dwdm_analysis.py`
- [Traffic analytics](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/analytics.py): `backend/analytics.py`
- [Traffic prediction](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/prediction.py): `backend/prediction.py`
- [Model evaluation](https://github.com/koyyadarohith/network-traffic-analysis/blob/main/backend/model_evaluation.py): `backend/model_evaluation.py`
- [Model assets and training](https://github.com/koyyadarohith/network-traffic-analysis/tree/main/models): `models`

### Other components

- **Analyst**
- **CICIDS2017 flows**

## Connections

- Analyst → React application: uses
- React application → Dashboard view: renders
- React application → Warehouse view: routes to
- React application → OLAP analysis: routes to
- React application → Data mining: routes to
- React application → Report analysis: routes to
- React application → Dataset explorer: routes to
- Dashboard view → Frontend API clients: requests dashboard
- Warehouse view → Frontend API clients: requests data
- OLAP analysis → Frontend API clients: requests OLAP
- Dataset explorer → Frontend API clients: requests dataset
- Traffic prediction → Frontend API clients: uploads traffic
- Frontend API clients → FastAPI application: calls REST API
- FastAPI application → Traffic analytics routes: dispatches
- FastAPI application → Dashboard routes: dispatches
- FastAPI application → Dataset routes: dispatches
- FastAPI application → DWDM routes: dispatches
- FastAPI application → Prediction routes: dispatches
- FastAPI application → Evaluation routes: dispatches
- CICIDS2017 flows → Dataset cleaning: provides flows
- Dataset cleaning → Warehouse ETL: writes cleaned data
- Warehouse ETL → MySQL warehouse: loads records
- Traffic analytics routes → Traffic analytics: delegates analytics
- Dashboard routes → Traffic analytics: serves dashboard data
- DWDM routes → DWDM analysis: delegates OLAP
- Prediction routes → Traffic prediction: delegates inference
- Evaluation routes → Model evaluation: delegates evaluation
- Database connection → MySQL warehouse: connects to
- DWDM analysis → Database connection: queries through
- Traffic analytics → Database connection: queries through
- Traffic prediction → Model assets and training: uses classifier
- Model evaluation → Model assets and training: reads model assets
