# rudra20-04/aletheia-data-platform architecture

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

- Interactive diagram: https://gitdiagram.com/rudra20-04/aletheia-data-platform
- Repository: https://github.com/rudra20-04/aletheia-data-platform

## Overview

Aletheia is a data warehouse and BI platform for a fictional fashion marketplace. Its principal workflow extracts raw CSVs, transforms the data, loads PostgreSQL, and presents reporting through SQL views and Power BI dashboards. The graph also retains the documented dimensional model and dashboard domains. ETL calls and writes are evidenced by excerpts; broader SQL-to-dashboard relationships follow the README’s architecture description because the SQL and PBIX contents were not sampled.

Main entry points: [`powerbi/Aletheia_Dashboards.pbix`](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix) (Power BI dashboards), [`etl/load.py`](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/load.py) (Warehouse loader), [`etl/pipeline.py`](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/pipeline.py) (ETL orchestration), [`etl/extract.py`](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/extract.py) (CSV extraction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_etl["ETL Pipeline"]
  node_raw_data["Raw CSV data"]
  node_extract["CSV extraction<br/>[extract.py]"]
  node_transform["Data transformation<br/>[transform.py]"]
  node_loader["Warehouse loader<br/>[load.py]"]
  node_etl_runner["ETL orchestration<br/>[pipeline.py]"]
  node_etl_logging["ETL logging<br/>[logger.py]"]
  node_db_config["Database configuration<br/>[config.py]"]
end

subgraph group_warehouse["Data Warehouse"]
  node_warehouse_db[("PostgreSQL warehouse")]
  node_dimensions[("Dimension tables")]
  node_facts[("Fact tables<br/>[03_fact_tables.sql]")]
  node_sql_views["Reporting views<br/>[04_views.sql]"]
end

subgraph group_bi["Business Intelligence"]
  node_dashboards["Power BI dashboards"]
  node_executive_analytics["Executive analytics"]
  node_customer_analytics["Customer analytics"]
  node_product_analytics["Product analytics"]
  node_seller_analytics["Seller analytics"]
  node_payment_analytics["Payment analytics"]
  node_returns_analytics["Returns analytics"]
end

subgraph group_users["Business Users"]
end

node_stakeholders(("Business stakeholders"))

node_raw_data -->|"reads CSVs"| node_extract
node_etl_runner -->|"calls"| node_extract
node_etl_runner -->|"calls"| node_transform
node_etl_runner -->|"calls"| node_loader
node_etl_runner -->|"logs progress"| node_etl_logging
node_extract -->|"passes data"| node_transform
node_transform -->|"passes data"| node_loader
node_loader -->|"imports settings"| node_db_config
node_loader -->|"appends rows"| node_dimensions
node_loader -->|"appends rows"| node_facts
node_dimensions -->|"defines schema"| node_warehouse_db
node_facts -->|"defines schema"| node_warehouse_db
node_warehouse_db -->|"feeds reporting"| node_sql_views
node_sql_views -->|"provides BI layer"| node_dashboards
node_dashboards -->|"presents"| node_executive_analytics
node_dashboards -->|"presents"| node_customer_analytics
node_dashboards -->|"presents"| node_product_analytics
node_dashboards -->|"presents"| node_seller_analytics
node_dashboards -->|"presents"| node_payment_analytics
node_dashboards -->|"presents"| node_returns_analytics
node_dashboards -->|"supports decisions"| node_stakeholders

click node_raw_data "https://github.com/rudra20-04/aletheia-data-platform/tree/main/data/raw"
click node_extract "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/extract.py"
click node_transform "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/transform.py"
click node_loader "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/load.py"
click node_etl_runner "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/pipeline.py"
click node_etl_logging "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/logger.py"
click node_db_config "https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/config.py"
click node_warehouse_db "https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/01_database_schema.sql"
click node_dimensions "https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/02_dimension_tables.sql"
click node_facts "https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/03_fact_tables.sql"
click node_sql_views "https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/04_views.sql"
click node_dashboards "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_executive_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_customer_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_product_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_seller_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_payment_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"
click node_returns_analytics "https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix"

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_raw_data,node_extract,node_transform,node_loader,node_etl_runner,node_etl_logging,node_db_config toneBlue
class node_warehouse_db,node_dimensions,node_facts,node_sql_views toneAmber
class node_dashboards,node_executive_analytics,node_customer_analytics,node_product_analytics,node_seller_analytics,node_payment_analytics,node_returns_analytics toneMint
class node_stakeholders toneIndigo
```

## Components

### ETL Pipeline

- [Raw CSV data](https://github.com/rudra20-04/aletheia-data-platform/tree/main/data/raw): `data/raw`
- [CSV extraction](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/extract.py): `etl/extract.py`
- [Data transformation](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/transform.py): `etl/transform.py`
- [Warehouse loader](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/load.py): `etl/load.py`
- [ETL orchestration](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/pipeline.py): `etl/pipeline.py`
- [ETL logging](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/logger.py): `etl/logger.py`
- [Database configuration](https://github.com/rudra20-04/aletheia-data-platform/blob/main/etl/config.py): `etl/config.py`

### Data Warehouse

- [PostgreSQL warehouse](https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/01_database_schema.sql): `sql/01_database_schema.sql`
- [Dimension tables](https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/02_dimension_tables.sql): `sql/02_dimension_tables.sql`
- [Fact tables](https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/03_fact_tables.sql): `sql/03_fact_tables.sql`
- [Reporting views](https://github.com/rudra20-04/aletheia-data-platform/blob/main/sql/04_views.sql): `sql/04_views.sql`

### Business Intelligence

- [Power BI dashboards](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Executive analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Customer analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Product analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Seller analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Payment analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`
- [Returns analytics](https://github.com/rudra20-04/aletheia-data-platform/blob/main/powerbi/Aletheia_Dashboards.pbix): `powerbi/Aletheia_Dashboards.pbix`

### Other components

- **Business stakeholders**

## Connections

- Raw CSV data → CSV extraction: reads CSVs (evidence: `etl/extract.py`)
- ETL orchestration → CSV extraction: calls (evidence: `etl/pipeline.py`)
- ETL orchestration → Data transformation: calls (evidence: `etl/pipeline.py`)
- ETL orchestration → Warehouse loader: calls (evidence: `etl/pipeline.py`)
- ETL orchestration → ETL logging: logs progress (evidence: `etl/pipeline.py`)
- CSV extraction → Data transformation: passes data (evidence: `etl/pipeline.py`)
- Data transformation → Warehouse loader: passes data (evidence: `etl/pipeline.py`)
- Warehouse loader → Database configuration: imports settings (evidence: `etl/load.py`)
- Warehouse loader → Dimension tables: appends rows (evidence: `etl/load.py`)
- Warehouse loader → Fact tables: appends rows (evidence: `etl/load.py`)
- Dimension tables → PostgreSQL warehouse: defines schema (evidence: `README.md`)
- Fact tables → PostgreSQL warehouse: defines schema (evidence: `README.md`)
- PostgreSQL warehouse → Reporting views: feeds reporting (evidence: `README.md`)
- Reporting views → Power BI dashboards: provides BI layer (evidence: `README.md`)
- Power BI dashboards → Executive analytics: presents (evidence: `README.md`)
- Power BI dashboards → Customer analytics: presents (evidence: `README.md`)
- Power BI dashboards → Product analytics: presents (evidence: `README.md`)
- Power BI dashboards → Seller analytics: presents (evidence: `README.md`)
- Power BI dashboards → Payment analytics: presents (evidence: `README.md`)
- Power BI dashboards → Returns analytics: presents (evidence: `README.md`)
- Power BI dashboards → Business stakeholders: supports decisions (evidence: `README.md`)
