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
C1 Capstone — Kendi Pipeline’ını Kur
Bu, kursun en büyük projesi. 9 hafta boyunca öğrendiğin her şeyi tek bir projede birleştireceksin.
Projenin Amacı
Kendi seçtiğin bir veri kaynağından başlayıp, uçtan uca bir veri pipeline’ı inşa edeceksin. NYC taksi verisi yasak (çok yaygın, özgün bir proje olmaz). Kendi hayatından bir veri seti seç.
Çıktılar (deliverables)
- Public GitHub repo:
kendi-veri-projemadıyla bir repo oluştur.- README.md: projenin amacı, mimari diyagramı, çalıştırma talimatları.
- Terraform + .env.example + Makefile: birisi
git clone+makeile projeyi ayağa kaldırabilsin. - dbt projesi: 5+ model, sources, tests, docs.
- dbt docs public URL: GitHub Pages’de yayınla.
- Dashboard: 2+ panelli (Metabase, Streamlit veya Looker Studio).
- CI workflow: GitHub Actions ile her PR’da test çalışsın.
0-4 × 7 Kriter Rubric (kendini değerlendir)
| Kriter | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| Problem | Yok | Dağınık | Net ama dar | Net + hedef kitle | Net + ölçülebilir başarı |
| Cloud | Çalışmıyor | Kısmen | Temel | İyi | Optimize |
| Ingestion | Yok | Tek kaynak | Çok kaynak | İdempotent | Incremental + hata yönetimi |
| Warehouse | Yok | Tablo | Şema + docs | Partitioned/clustered | Performans tuning |
| Transformations | Yok | Ham SQL | dbt | Testlerle dbt | dbt + macros + CI |
| Dashboard | Yok | 1 tile | 2+ tiles | 2+ interaktif | Production-grade |
| Reproducibility | Yok | Kısmi README | Tam README | + .env example | Terraform + Makefile + CI |
Maks 28 puan. Verifiable badge için en az 14 gerekli (rubric geçer).
Adım Adım
1. Veri setini seç
İlk derste (02) seçtiğin veri setini kullan. Limonata, oyun, yemek defteri — herhangi biri.
2. Mimari diyagramı çiz
Kâğıda çiz:
[Kaynak: API / CSV / Manuel]
↓
[Ingestion: Kestra + dlt]
↓
[Lake: GCS]
↓
[Warehouse: BigQuery veya DuckDB]
↓
[Transformation: dbt]
↓
[Dashboard: Metabase / Streamlit]
3. Ingestion
Kestra flow + dlt scripti yaz. Kendi API’ni veya CSV’ni çek.
4. Warehouse
BigQuery sandbox veya yerel DuckDB’de tablo oluştur. Partition + cluster düşün (küçük veri için gerek yok).
5. dbt modelleri
En az 5 model:
stg_siparisler.sql(staging)stg_musteriler.sqlint_siparis_gunluk.sql(intermediate)dim_musteriler.sql(dimension)fct_satis_ozet.sql(fact)
6. Dashboard
2+ panelli:
- Panel 1: “Günlük sipariş trendi” (line chart)
- Panel 2: “Top 10 müşteri” (bar chart) veya “Kategori dağılımı” (pie)
7. CI + Reproducibility
- GitHub Actions: her PR’da
dbt buildçalışsın - Makefile:
make setup,make run,make test - Terraform (bonus): altyapıyı kodla
Ebeveyn Notu
12 yaş için bu capstone ebeveyn eşliğinde önerilir. Cloud hesabı, GitHub repo, dashboard publish — hepsinde bir büyüğün desteği iyi olur. Eğer yoksa, yerel DuckDB-only yolunu da seçebilirsin (Terraform + GCP bonus’larını atla).