Project community beginner
dbt → warehouse → tests → docs
Transform raw landed data into a tested, documented star schema with dbt, and gate every change on data-aware CI.
At a glance
| Where | dbt · tech-dbt · tech-postgres · tech-duckdb |
|---|
Learning objectives
- Layer staging/intermediate/marts
- Write tests that protect the grain
- Run data-aware CI against a staging schema
Security scan
Last sweep 2026-10-24: 0 finding(s), 0 marked as examples.
Implementation
- [object Object]
- [object Object]
- [object Object]
- Incremental on fct_orders with a 3-day lookback.
Tests
- unique + not_null on the fct grain key
- relationships from fct to dims
- accepted_values on status
Failure Scenarios
- Late-arriving order missed → lookback window too short
- Grain key not unique → a join fanned out upstream
- CI green but prod differs → CI ran on a different target/schema
Production Hardening
- CI builds to a per-PR staging schema and runs full tests
- Source freshness checks on raw
- Exposures declared for dashboards
Registry stats
| Verification | community · Sep 27, 2026 |
|---|---|
| Completeness | 81 |
| Trust multiplier | ×0.25 |
| Composite | 32.65 · adequate |
| Freshness | 27 days since last source check |
| Difficulty | beginner |
| Version | 1.3.0 |
| License | MIT |
| Security flags | 4 |
Repository Structure
dbt-warehouse-tests/
models/staging/
models/intermediate/
models/marts/
models/schema.yml # tests + descriptions
tests/ # singular tests
.github/workflows/ci.yml
Architecture
raw.orders ─▶ stg_orders ─▶ int_orders_enriched ─┐ raw.customers ─▶ stg_customers ──────────────────┼─▶ fct_orders ─▶ marts seeds/ ─▶ dim_date ──────────────────────────────┘ (tests + docs on every node; CI on staging schema)
Setup
- dbt deps && dbt seed
- dbt build --target dev
- dbt docs generate && dbt docs serve
Sample Data
dbt seeds — customers.csv, orders.csv (small, deterministic)
Did this solve your problem?
dbt → warehouse → tests → docs