END-TO-END ELT DATA PIPELINE

Brazilian E-Commerce  |  Azure Cloud Platform  |  Medallion Architecture

Building a Scalable, Reliable & Governed Data Pipeline from Raw Data to Business Insights

BlobAzure Blob Storage
PythonPython
ADFAzure Data Factory
SQLAzure SQL Database
dbtdbt Core
GitHubGitHub Actions
Entra IDMicrosoft Entra ID
SQLSQL

Data Sources

Blob
Azure Blob Storage
Australia East
9 CSV files
125 MB raw data
~100K orders
2016 – 2018 data
Python
Python Script
SQLAlchemy + pandas
DefaultAzureCredential
Token injection
latin-1 encoding
ADF
Azure Data Factory
No-code pipeline
ForEach + Filter
Managed Identity
Daily trigger
Email alerts

Medallion Architecture — Azure SQL Database (Serverless)

🥉 Bronze Layer
Raw Ingestion Layer
SQL
Raw Tables (raw schema)
  • Exact copy of source data
  • No transformations applied
  • loaded_at timestamp added
  • Full reload on every run
Key Features
  • Source of truth preserved
  • 9 tables ingested
  • BOM character handled
  • latin-1 encoding fix
🥈 Silver Layer
Cleansed & Standardised Layer
dbt
dbt Staging Models (9 tables)
  • Clean & rename columns
  • Cast data types correctly
  • transformed_at timestamp
  • Geolocation deduplication
Key Features
  • unique + not_null tests
  • Composite key validation
  • dbt_utils test framework
  • schema.yml documentation
🥇 Gold Layer
Business Ready Layer
dbt
Kimball Star Schema
  • fact_orders (factless fact)
  • fact_order_items
  • fact_order_payments
  • fact_reviews
Key Features
  • Incremental materialisation
  • Upsert via MERGE statement
  • dim_customers + geolocation
  • Referential integrity tests
CI/CD & Security
🔐
Zero Credentials
Microsoft Entra ID
🌿
Branch Protection
Main branch locked
⚙️
Dev / Prod Split
dbt profiles
🔔
Failure Alerts
Email + SMS
📋
Audit Trail
GitHub Actions log
GitHubGitHub Actions — dbt run + dbt test on every push, PR & manual trigger
dbt 23+ workflow runs · Branch protection enforced
dbt46 Tests Passing · Across Staging and Mart Layer

Consumers

📊
BI Dashboards
Tableau / Power BI
🔍
Analytics Teams
Self-service SQL
🤖
AI / ML Use Cases
Clean training data
📈
Reporting & Alerts
Automated insights
💰
Low Cost
Entire project build
46
dbt Tests Passing
9
Source Tables
23+
CI/CD Pipeline Runs
16
Models Created
Key Highlights
ELT over ETL — raw layer preserved as source of truth
Dual ingestion — Python script + Azure Data Factory
Kimball dimensional modelling with star schema
Incremental MERGE upsert on all fact tables
Branch protection — only tested code reaches production
Pipeline Flow
Blob Storage
ADF Pipeline
Raw Schema
dbt Staging
dbt Mart
CI/CD Tests
Business Impact
Production-grade pipeline
Automated daily refresh with failure alerting
Trusted data — 46 tests on every deployment
BI-ready star schema for any analytics tool
Dev/prod separation prevents data corruption