A dbt practice project from the Complete dbt Bootcamp on Udemy, demonstrating data transformation and analytics engineering best practices.
This project transforms raw Airbnb data into analytics-ready models using Snowflake and dbt. It features a hypothesis test: "Do people leave bad reviews more often during a full moon?" (tongue in cheek).
Stack: Snowflake + dbt + Preset
airbnb/
├── models/
│ ├── src/ # Source models
│ ├── dim/ # Dimension tables
│ ├── fct/ # Fact tables
│ └── mart/ # Business marts
├── tests/ # Data quality tests
├── macros/ # Custom macros
├── snapshots/ # Historical tracking
└── seeds/ # Reference data
- Medallion architecture with source, dimension, fact, and mart layers
- Custom tests and macros for data quality
- Snapshots for historical data tracking (SCD Type 2)
- Automated audit logging with post-hooks
- Preset dashboard (draft) comparing review sentiment during full moon vs regular periods (+general overview)
dbt depsCreate ~/.dbt/profiles.yml:
airbnb:
outputs:
dev:
type: snowflake
account: YOUR_ACCOUNT
user: YOUR_USERNAME
# Add your credentials here
database: AIRBNB
schema: DEV
warehouse: COMPUTE_WH
threads: 4
target: devNote: Never commit
profiles.yml- it contains credentials.
dbt run # Build models
dbt test # Run tests
dbt docs generate && dbt docs serve # View documentationIt includes comprehensive dbt documentation with model lineage, column descriptions, and test coverage, deployed on GitHub Pages.
airbnb_dbt_docs/#!/overview) - Live documentation deployed on GitHub Pages
- 📊 Analytics Dashboard - Interactive Preset dashboard
- 🎓 Course: Complete dbt Bootcamp
- dbt Documentation

