Modül 10 · Capstone · ⏱ 30 dk

C1: Capstone — sıfırdan uçtan uca pipeline

C1 end-to-end capstone

Bu derste neler öğreneceksin

  • Kendi veri setini seçer (NYC taxi yasak)
  • Ingest lake warehouse dbt dashboard kurar
  • 0-4 x 7 kriter rubric ile kendini değerlendirir

Production Capstone

Bu, kursun portfolyo parçan. 34 dersin sonunda, gerçek bir veri mühendisi gibi sıfırdan bir end-to-end pipeline kuracaksın. Mülakatta “ne yaptın?” sorusuna GitHub linki ile cevap vereceksin; mülakatçı repoya girip kodu, lineage’ı, test sonuçlarını okuyacak.

Bu capstone başarıyla tamamlandığında:

  • 5+ dbt modeli, 3+ test, lineage görselleştirmesi olan bir repo.
  • dbt docs public URL’i (GitHub Pages veya dbt Cloud).
  • 7 kriterlik rubric puan tablosu (toplam 28 üzerinden).
  • LinkedIn Featured bölümüne eklenebilecek bir proje.

Adım 0: Veri Seti Seçimi (NYC Taksi Yasak)

NYC taksi verisi yasak — DataTalksClub capstone’ında en yaygın kullanılan veri, mülakatçı gözünde sıfır özgünlük puanı. Kendi verinizi seçin.

İyi veri seti kriterleri:

  1. 5K-500K satır arası (ne çok az, ne çok fazla).
  2. Yapılandırılmış (CSV, JSON, API, SQL tablo).
  3. Düzenli güncellenebilir (API veya manuel weekly ingest).
  4. Gerçek bir problemi çözüyor (dashboard, alert, tahmin, segmentasyon).
  5. Sizi motive eden bir domain (9-12 hafta yaşayacaksınız).

Adım 1: Problem Definition (1 paragraf)

README.md’nin ilk 20 satırı:

# `<Proje Adı>`

## Problem
`<Somut bir soru. "Veri analizi" değil, ölçülebilir bir hedef.
Örnek: "Hangi günler düşük satış yapıyorum ve nedenini
lokasyon, ürün kategorisi, hava durumu verileriyle açıklayabilir miyim?">`

## Success Criteria
- 3+ actionable insight (sadece "göster" değil, "ne yapmalıyım?" cevabı)
- Pipeline daily run, %99 success
- P95 query latency < 5s

## Out of Scope
- ML model (Modül 6 sonrası opsiyonel)
- Real-time streaming (batch yeterli)

Adım 2: Mimari Karar

Modül 1-7 öğrendiğin araçlardan hangilerini neden seçtiğini yaz:

KararSeçeneklerSeçimNeden
CloudGCP / AWS / Azure / local-only
Ingestdlt / Fivetran / Airbyte / custom
WarehouseBigQuery / Snowflake / DuckDB / Postgres
Transformdbt / SQLMesh / Bruin
OrchestrateKestra / Airflow / Prefect / cron
DashboardMetabase / Streamlit / Looker / Superset
CI/CDGitHub Actions / GitLab CI

Neden önemli? Mülakatta “neden dbt seçtin?” sorusuna cevabınız olsun. “Hocam öyle dedi” değil, “alternatif X, Y’yi değerlendirdim, şu trade-off’lar nedeniyle Z’yi seçtim” olsun.

Adım 3: Pipeline Kurulumu

Minimum viable pipeline:

[API/CSV] -> dlt -> [raw schema (BigQuery/DuckDB)]
                          |
                  [dbt staging (views)]
                          |
                  [dbt intermediate (ephemeral)]
                          |
                  [dbt marts (tables, tested)]
                          |
                  [Dashboard: Metabase / Streamlit]

Kabul kriterleri:

  • make up tek komutla infrastructure ayağa kalksın.
  • make ingest && make transform && make test ile sıfırdan tablolar oluşsun.
  • make dq ile data quality check’leri çalışsın.
  • .env.example ile secret’lar template’lensin.
  • GitHub Actions ile CI’da dbt run + test otomatik çalışsın.

Adım 4: 7 Kriter Rubric (0-4 × 7 = 28)

README’de bir tablo olarak yayınlayın:

#Kriter01234
1ProblemTanımsızVar ama vagueNet ama darNet + measurableNet + business value + user
2CloudLocalDocker1 cloud serviceMulti-serviceIaC (Terraform) + state
3IngestionManuelScript ama non-idempotentdlt + scheduledlt + retry + backoffdlt + observability + alerting
4WarehouseCSVSQLiteDuckDBBigQueryBigQuery + partition + cluster
5TransformationsYokRaw kullanım1 dbt model3+ model + test5+ model + test + macros + packages
6DashboardYok1 static chart1 dashboard, 2 viz3 viz + filter3 viz + filter + scheduled email
7ReproducibilityYokREADME ama boşREADME + basic stepsDocker composemake all + CI green

Hedef: 20+/28 iyi capstone, 24+/28 işe alım hazır seviye.

Adım 5: Portfolyo Yayınlama

  • GitHub repo public + MIT license + topics.
  • dbt docs public URL (GitHub Pages veya dbt Cloud).
  • 5 dakikalık Loom videosu çekin: dashboard’u gez, pipeline’ı anlat.
  • LinkedIn Featured bölümüne ekleyin; “Project: <Ad> — End-to-end DE pipeline” yazın.
  • Blog yazısı: mimari kararları, trade-off’ları, ne öğrendiğinizi anlatın.

Sıradaki

Capstone C2: Veri kalitesi ajanı yaz →