Tags: Data Engineering, ETL/ELT, SQL, Data Modeling, Data Quality Testing, dbt, Git
Domain: E-commerce
dbt
Snowflake
Set up and manage a small-scale ELT workflow with dbt, using data transformations, modular SQL models, and version-controlled pipelines to turn raw data into reusable models and business-ready outputs.
This project is based on the Jaffle Shop dataset, that simulates customer orders, payments, and returns. The project is implemented in Snowflake, transforming raw transactional data into clean, analytics-ready tables while applying dbt’s best practices in testing, documentation, and modular modeling.
This approach mirrors real-world analytics engineering: version-controlled transformations, data quality testing, and a layered model structure.
This project includes:
Project Setup: Initialized a dbt project structure and organized folders for models, macros, and configuration.
Data Modeling & Templating: Created modular SQL models using Jinja for templates, using a layer-by-layer logic.
Data Quality Testing: Applied generic tests and defined singular test.
Workflow Practices: Implemented a version-controlled loop: write → run → test → document → commit.
Documentation: Wrote documentation and doc blocks and used Copilot to automate the documentation process.
Deployment: Set up a job for deployment.
Bridges the gap between raw warehouse tables and business-ready outputs, preparing data for downstream analysis and reporting.
To see the code, please visit my GitHub.