
This Custom Data Mart is the foundational "Backend" project for my portfolio. By moving the logic into Azure Functions and a Kimball-based Star Schema, I have built a scalable, professional data warehouse that supports high-level BI and reporting.
Its core function was to create a centralized Azure SQL Data Warehouse utilizing Kimball Dimensional Modeling to consolidate fragmented API data from Takealot, Amazon, and MintSoft into a high-performance analytical source.
I designed a Star Schema to optimize query performance and ensure data integrity across multiple marketplaces.
Sales, Inventory, Warehouse) linked to shared Dimension Tables (dimProduct, dimCalendar, dimMarketplace).IsCurrent flags and LoadDateTime timestamps, the model can reconstruct the state of the business at any historical point.dimProduct as the master reference. The C# ETL service performs a lookup on the unique SKU during ingestion, mapping disparate marketplace identifiers to a single internal ProductID.The extraction logic is built as a suite of Serverless Azure Functions, ensuring high availability and cost-effective compute.
HttpClient and System.Text.Json to consume REST APIs. The functions are triggered by TimerTriggers (executing daily) but support ad-hoc execution via HTTP triggers.SecretClient, ensuring no credentials are ever hardcoded in the source control.FunctionLogger table tracks every run, recording FunctionRunGuid, record counts, and execution duration.This project represents the transition from 'Business Intelligence' to 'Data Engineering.' By building a custom Azure backbone, I solved the most common problem in eCommerce: fragmented data. I successfully implemented enterprise patterns, Kimball modeling, serverless compute, and secure secret management. to create a robust data engine that powers analytics and decision making for the entire business.
Kimball Facts and Dimensions
