# sabithadharmaraj/ecommerce_etl_project architecture

> Architecture diagram of the GitHub repository sabithadharmaraj/ecommerce_etl_project, 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/sabithadharmaraj/ecommerce_etl_project
- Repository: https://github.com/sabithadharmaraj/ecommerce_etl_project

## Overview

This is a Databricks-based e-commerce ETL and warehousing pipeline, run from a single notebook. Its documented workflow extracts 12 CSV datasets from a Unity Catalog volume, cleans them, builds star and snowflake dimensional models, validates the results, and publishes tables and exports to three targets. The README documents the stages and destinations, but no notebook source excerpts were provided, so internal call ownership and finer-grained implementation details cannot be verified.

Main entry points: [`E-com_ETL_Project.ipynb`](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb) (Star schema)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pipeline["ETL pipeline"]
  node_extract["Extract datasets"]
  node_clean["Clean data"]
  node_validate["Validate models"]
end

subgraph group_modeling["Dimensional modeling"]
  node_star[("Star schema")]
  node_snowflake[("Snowflake schema")]
end

subgraph group_publishing["Publishing"]
  node_uc_publish[("Unity Catalog tables")]
  node_csv_publish["CSV exports"]
end

node_operator(("Databricks user"))
node_raw_data[("Raw CSV datasets")]
node_source_volume[("Unity Catalog volume")]
node_oracle[("Oracle database")]

node_operator -->|"runs notebook"| node_extract
node_source_volume -->|"contains datasets"| node_raw_data
node_extract -->|"loads CSVs"| node_source_volume
node_extract -->|"passes data"| node_clean
node_clean -->|"builds model"| node_star
node_clean -->|"builds model"| node_snowflake
node_star -->|"checks model"| node_validate
node_snowflake -->|"checks model"| node_validate
node_star -->|"publishes tables"| node_uc_publish
node_star -->|"exports schema"| node_csv_publish
node_snowflake -->|"exports schema"| node_csv_publish
node_star -->|"bulk inserts"| node_oracle
node_snowflake -->|"bulk inserts"| node_oracle

click node_extract "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_clean "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_star "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_snowflake "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_validate "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_uc_publish "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"
click node_csv_publish "https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb"

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_extract,node_clean,node_validate,node_operator toneBlue
class node_star,node_snowflake,node_raw_data,node_source_volume,node_oracle toneAmber
class node_uc_publish,node_csv_publish toneMint
```

## Components

### ETL pipeline

- [Extract datasets](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`
- [Clean data](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`
- [Validate models](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`

### Dimensional modeling

- [Star schema](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`
- [Snowflake schema](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`

### Publishing

- [Unity Catalog tables](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`
- [CSV exports](https://github.com/sabithadharmaraj/ecommerce_etl_project/blob/main/E-com_ETL_Project.ipynb): `E-com_ETL_Project.ipynb`

### Other components

- **Databricks user**
- **Raw CSV datasets**
- **Unity Catalog volume**
- **Oracle database**

## Connections

- Databricks user → Extract datasets: runs notebook (evidence: `README.md`)
- Unity Catalog volume → Raw CSV datasets: contains datasets (evidence: `README.md`)
- Extract datasets → Unity Catalog volume: loads CSVs (evidence: `README.md`)
- Extract datasets → Clean data: passes data (evidence: `README.md`)
- Clean data → Star schema: builds model (evidence: `README.md`)
- Clean data → Snowflake schema: builds model (evidence: `README.md`)
- Star schema → Validate models: checks model (evidence: `README.md`)
- Snowflake schema → Validate models: checks model (evidence: `README.md`)
- Star schema → Unity Catalog tables: publishes tables (evidence: `README.md`)
- Star schema → CSV exports: exports schema (evidence: `README.md`)
- Snowflake schema → CSV exports: exports schema (evidence: `README.md`)
- Star schema → Oracle database: bulk inserts (evidence: `README.md`)
- Snowflake schema → Oracle database: bulk inserts (evidence: `README.md`)
