# gojesujal/sql_data_warehouse_project architecture

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

- Interactive diagram: https://gitdiagram.com/gojesujal/sql_data_warehouse_project
- Repository: https://github.com/gojesujal/sql_data_warehouse_project

## Overview

This repository implements a PostgreSQL medallion warehouse: source CSV data is loaded into Bronze, cleaned and standardized into Silver, then modeled as Gold customer/product dimensions and a sales fact for analytics. Quality checks cover the warehouse layers, including Gold key uniqueness and fact-to-dimension integrity. The README documents the workflow, but no SQL excerpts were available, so links reflect documented data flow rather than verified statement-level calls.

Main entry points: [`scripts/bronze/load_bronze.sql`](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/load_bronze.sql) (Bronze Loader), [`scripts/bronze/bronze_ddl.sql`](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/bronze_ddl.sql) (Bronze Tables), [`scripts/silver/silver_ddl.sql`](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/silver_ddl.sql) (Silver Tables), [`scripts/silver/load_silver.sql`](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/load_silver.sql) (Silver Transform)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_bronze["Bronze Layer"]
  node_bronze_schema["Bronze Tables<br/>[bronze_ddl.sql]"]
  node_bronze_load["Bronze Loader<br/>[load_bronze.sql]"]
end

subgraph group_silver["Silver Layer"]
  node_silver_schema["Silver Tables<br/>[silver_ddl.sql]"]
  node_silver_load["Silver Transform<br/>[load_silver.sql]"]
  node_silver_quality["Silver Quality Checks"]
end

subgraph group_gold["Gold Layer"]
  node_gold_model["Gold Dimensions &amp; Fact<br/>[gold_ddl.sql]"]
  node_gold_quality["Gold Quality Checks"]
end

node_csv["Source CSVs"]
node_postgres[("PostgreSQL Warehouse")]
node_analytics(("Analytics &amp; Reporting"))

node_bronze_schema -->|"creates tables"| node_postgres
node_csv -->|"supplies data"| node_bronze_load
node_bronze_load -->|"loads Bronze"| node_postgres
node_silver_schema -->|"creates tables"| node_postgres
node_silver_load -->|"reads Bronze; writes Silver"| node_postgres
node_silver_quality -->|"checks Silver"| node_postgres
node_gold_model -->|"reads Silver; builds Gold"| node_postgres
node_gold_quality -->|"checks Gold"| node_postgres
node_analytics -->|"queries Gold"| node_postgres

click node_csv "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/datasets/placeholder"
click node_bronze_schema "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/bronze_ddl.sql"
click node_bronze_load "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/load_bronze.sql"
click node_silver_schema "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/silver_ddl.sql"
click node_silver_load "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/load_silver.sql"
click node_silver_quality "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/quality_check_silver.sql"
click node_gold_model "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/gold/gold_ddl.sql"
click node_gold_quality "https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/gold/quality_check_gold.sql"

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_bronze_schema,node_bronze_load toneBlue
class node_silver_schema,node_silver_load,node_silver_quality,node_postgres toneAmber
class node_gold_model,node_gold_quality toneMint
class node_csv toneTeal
class node_analytics toneIndigo
```

## Components

### Bronze Layer

- [Bronze Tables](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/bronze_ddl.sql): `scripts/bronze/bronze_ddl.sql`
- [Bronze Loader](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/bronze/load_bronze.sql): `scripts/bronze/load_bronze.sql`

### Silver Layer

- [Silver Tables](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/silver_ddl.sql): `scripts/silver/silver_ddl.sql`
- [Silver Transform](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/load_silver.sql): `scripts/silver/load_silver.sql`
- [Silver Quality Checks](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/silver/quality_check_silver.sql): `scripts/silver/quality_check_silver.sql`

### Gold Layer

- [Gold Dimensions & Fact](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/gold/gold_ddl.sql): `scripts/gold/gold_ddl.sql`
- [Gold Quality Checks](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/scripts/gold/quality_check_gold.sql): `scripts/gold/quality_check_gold.sql`

### Other components

- [Source CSVs](https://github.com/gojesujal/sql_data_warehouse_project/blob/main/datasets/placeholder): `datasets/placeholder`
- **PostgreSQL Warehouse**
- **Analytics & Reporting**

## Connections

- Bronze Tables → PostgreSQL Warehouse: creates tables
- Source CSVs → Bronze Loader: supplies data
- Bronze Loader → PostgreSQL Warehouse: loads Bronze
- Silver Tables → PostgreSQL Warehouse: creates tables
- Silver Transform → PostgreSQL Warehouse: reads Bronze; writes Silver
- Silver Quality Checks → PostgreSQL Warehouse: checks Silver
- Gold Dimensions & Fact → PostgreSQL Warehouse: reads Silver; builds Gold
- Gold Quality Checks → PostgreSQL Warehouse: checks Gold
- Analytics & Reporting → PostgreSQL Warehouse: queries Gold
