# bunghasan/ecommerce-data-warehouse-bi architecture

> Architecture diagram of the GitHub repository bunghasan/ecommerce-data-warehouse-bi, 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/bunghasan/ecommerce-data-warehouse-bi
- Repository: https://github.com/bunghasan/ecommerce-data-warehouse-bi

## Overview

This repository is a small e-commerce data-warehouse and business-intelligence project: a Python script generates transactional source data, transforms it into a dimensional data mart, and can load that mart into DuckDB for analysis. The CSV mart and SQL query files represent the analytical deliverables. The README is empty, and only partial generator excerpts were supplied, so links for query execution and some generated outputs are limited to what the tree and excerpts support.

Main entry points: [`TUGAS_DWBI_Ahmad Hasanuddin/scripts/generate_dataset.py`](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/generate_dataset.py) (Dataset generator), [`TUGAS_DWBI_Ahmad Hasanuddin/data_mart`](https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data_mart) (Dimensional mart), [`TUGAS_DWBI_Ahmad Hasanuddin/data`](https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data) (Raw sources), [`TUGAS_DWBI_Ahmad Hasanuddin/database/ecommerce_dwbi.duckdb`](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/database/ecommerce_dwbi.duckdb) (DuckDB warehouse)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_generation["Data generation"]
  node_generator["Dataset generator"]
  node_raw["Raw sources"]
end

subgraph group_warehouse["Warehouse"]
  node_mart["Dimensional mart"]
  node_duckdb[("DuckDB warehouse")]
  node_postgres_ddl["PostgreSQL schema"]
end

subgraph group_analytics["Analytics"]
  node_queries["Analytical queries"]
  node_results["Query results"]
end

node_operator(("Project operator"))

node_operator -->|"runs"| node_generator
node_generator -->|"generates"| node_raw
node_generator -->|"builds"| node_mart
node_mart -->|"reads for loading"| node_generator
node_generator -->|"loads tables"| node_duckdb
node_generator -->|"writes schema"| node_postgres_ddl

click node_generator "https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/generate_dataset.py"
click node_raw "https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data"
click node_mart "https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data_mart"
click node_duckdb "https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/database/ecommerce_dwbi.duckdb"
click node_postgres_ddl "https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/create_datamart_postgresql.sql"
click node_queries "https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/analytic_queries.sql"
click node_results "https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/result"

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_generator,node_raw toneBlue
class node_mart,node_duckdb,node_postgres_ddl toneAmber
class node_queries,node_results toneMint
class node_operator toneIndigo
```

## Components

### Data generation

- [Dataset generator](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/generate_dataset.py): `TUGAS_DWBI_Ahmad Hasanuddin/scripts/generate_dataset.py`
- [Raw sources](https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data): `TUGAS_DWBI_Ahmad Hasanuddin/data`

### Warehouse

- [Dimensional mart](https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/data_mart): `TUGAS_DWBI_Ahmad Hasanuddin/data_mart`
- [DuckDB warehouse](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/database/ecommerce_dwbi.duckdb): `TUGAS_DWBI_Ahmad Hasanuddin/database/ecommerce_dwbi.duckdb`
- [PostgreSQL schema](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/create_datamart_postgresql.sql): `TUGAS_DWBI_Ahmad Hasanuddin/scripts/create_datamart_postgresql.sql`

### Analytics

- [Analytical queries](https://github.com/bunghasan/ecommerce-data-warehouse-bi/blob/main/TUGAS_DWBI_Ahmad%20Hasanuddin/scripts/analytic_queries.sql): `TUGAS_DWBI_Ahmad Hasanuddin/scripts/analytic_queries.sql`
- [Query results](https://github.com/bunghasan/ecommerce-data-warehouse-bi/tree/main/TUGAS_DWBI_Ahmad%20Hasanuddin/result): `TUGAS_DWBI_Ahmad Hasanuddin/result`

### Other components

- **Project operator**

## Connections

- Project operator → Dataset generator: runs
- Dataset generator → Raw sources: generates
- Dataset generator → Dimensional mart: builds
- Dimensional mart → Dataset generator: reads for loading
- Dataset generator → DuckDB warehouse: loads tables
- Dataset generator → PostgreSQL schema: writes schema
