Türkiye geneli çevresel zeka platformu (local-first): analitik veri katmanı, FastAPI servisleri ve TR/EN mobil-web ürün kabuğu.
English README: README.eng.md
- Ne: Hava durumu, hava kalitesi, tarihsel gerçekleşenler, tarihsel forecast arşivi, CAMS reanalysis ve il geometrisini birleştiren veri+API sistemi.
- Ne üretir: Şehir/il martları, mobil hafif görünümler, auth korumalı API, zamanlanabilir pipeline ve operasyon görünürlüğü.
- Durum: Validasyon/test tabanı yeşil, üretim disiplini güçlü, local-first mimari aktif.
- İlke: Forecast ve actual semantiği ayrıdır; joinler deterministik ve tekrarlanabilir.
- Güvenlik: Sadece environment tabanlı secret, publish-safe yüzeyler, sanitize export zorunluluğu.
- Kapsam: 81 il, şehir + il seviyesinde çevresel analiz.
- Amaç: Dashboard, mobil/web ürün yüzeyi ve model/agent akışları için güvenilir veri kontratları.
- Hedefler:
- Şehir saatlik birleşik çevresel zeka
- Forecast-vs-actual güvenilirlik analizi
- İl bazlı harita metrikleri
- Tekrarlanabilir operasyonel refresh
- Open-Meteo Geocoding (81 il)
- Open-Meteo Forecast
- Open-Meteo Air Quality
- Open-Meteo Historical Weather
- Open-Meteo Historical Forecast (2024 extended canonical)
- geoBoundaries Turkey ADM0/ADM1/ADM2
- CAMS reanalysis (2024 aylık kapsam)
- Diller: Python, TypeScript
- Analitik: DuckDB, Parquet, Pandas, PyArrow
- Coğrafi: GeoPandas, Shapely, PyProj, Fiona
- Atmosferik dosya işleme: NetCDF4, Xarray
- Backend: FastAPI, Uvicorn
- Frontend/Mobil: Expo, React Native, React Native Web, React Native SVG
- Kalite: Pytest, TypeScript typecheck
- Operasyon: cron/launchd/systemd şablonları, logrotate, run manifestleri
breathwise-tr/
backend/ # FastAPI servis, config, schema
frontend/mobile_shell_starter/ # Çalışır Expo uygulama kabuğu (TR/EN)
scripts/ # ETL, mart build, orchestrator, doğrulama
tests/ # Backend/pipeline/ops regresyon testleri
data/
raw/ # Immutable kaynak artifaktları
processed/ # Martlar, viewler, run/ops çıktıları
contracts/ # API/parquet/i18n/product kontratları
ops/ # Scheduler ve logrotate şablonları
sql/ # SQL yardımcıları
*.md # Proje dokümantasyonu
data/processed/marts/city_hourly_environment_tr.parquetcity_forecast_vs_actual_tr.parquetcity_current_snapshot_tr.parquetprovince_map_metrics_tr.parquet
data/processed/views/mobile_city_current_snapshot_tr_light.parquetmobile_city_hourly_timeline_tr_light.parquetmobile_province_map_metrics_tr_light.parquet
- Python ortamı:
python3 -m venv .venv && source .venv/bin/activatepip install -r requirements.txt
- Veri doğrulama:
python3 scripts/validate_analytics_outputs.py
- API çalıştırma:
uvicorn backend.main:app --reload --host 127.0.0.1 --port 8000
- Mobil/web kabuk:
cd frontend/mobile_shell_starternpm install && npm run start
- Secret hardcode edilmez.
- Sadece environment variable kullanılır (
OPENAI_API_KEY,BREATHWISE_API_KEYvb.). .envcommit edilmez; sadece.env.exampletutulur.- Dış paylaşımda metadata için
publish_safe=truekullanılır. - Raw kaynaklar immutable’dır; sanitize işlemi sunum/export katmanında yapılır.
Standart sanitize export:
python3 scripts/export_publish_bundle.py --tag release_candidate --overwriteÇıktı: data/processed/publish_exports/<tag>/
Kanonik kural: Public/portfolio paylaşım sadece sanitize bundle’dan yapılır.
- DATA_PIPELINE_OVERVIEW.md
- DATASET_CATALOG.md
- DATA_DICTIONARY.md
- JOIN_STRATEGY.md
- ANALYTICS_LAYER.md
- OPERATIONS_RUNBOOK.md
- LOCALIZATION_STRATEGY.md
- PRODUCT_SHELL_INTEGRATION.md
- SECURITY.md
- THIRD_PARTY_SOURCES.md
- RELEASE_READINESS_CHECKLIST.md
- RELEASE_WORKFLOW.md
- ROADMAP_2025_PLUS.md
- Sanitized export adımını release sürecinde standartlaştırmaya devam.
- 2025+ veri genişlemesi (aynı validasyon sertliğiyle).
- UI polish + ürün release checklist (store/share readiness).