Files
iddaai-be/mds/archive/03_developer_guidelines.md
T
fahricansecer 2f0b85a0c7
Deploy Iddaai Backend / build-and-deploy (push) Failing after 18s
first (part 2: other directories)
2026-04-16 15:11:25 +03:00

73 lines
2.6 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Geliştirici Kılavuzu ve Sonraki Adımlar
**Dosya:** `03_developer_guidelines.md`
**Amaç:** Projeyi devralan kişi/AI için operasyonel rehber.
---
## 🚀 Projeyi Çalıştırma
### Standard Geliştirme Modu
```bash
# 1. Veri Tabanını Başlat (Docker/Local)
# 2. Migration Kontrolü
npx prisma migrate dev
# 3. Backend'i Başlat
npm run start:dev # (Dikkat: 'dev' scripti tanımlı olmayabilir, 'start:dev' kullanın)
```
### AI Engine Backtest & Calibration
Skor tahminlerini tekrar kalibre etmek isterseniz:
```bash
# 1 aylık veri üzerinde kalibrasyon testi yapar ve optimum katsayıları basar
python3 ai-engine/scripts/backtest_v17_scores.py
```
_Çıkan sonuçları `services/smart_coupon_service.py` içindeki CONSTANT'lara uygulayın._
### Tek Maç Analizi (Manuel Test)
```bash
# Debug modunda detaylı JSON çıktısı
python3 ai-engine/services/smart_coupon_service.py --analyze <MATCH_ID> --json
```
---
## 📋 Kritik Kontrol Listesi (Devralan İçin)
### 1. JSON Fallback Yapısı
Canlı maçlarda veri `live_matches` tablosundaki `jsonData` (odds/lineups) kolonlarında saklanır.
- **Kural:** Schema değişikliği yaparsanız `FeederPersistenceService.saveLineups` içindeki JSON yapısını bozmamaya dikkat edin. Python tarafı bu yapıya (`home.xi`, `away.xi`) bağımlıdır.
### 2. Auto-Fetch Mantığı
`SmartCouponService.analyzeMatch` metodu, veri eksikse otomatik olarak Feeder'ı tetikler (`refreshMatch`).
- **Uyarı:** Eğer Feeder çok sık hata veriyorsa (Mackolik IP ban vb.), bu mekanizma yavaşlığa sebep olabilir. Rate Limiting eklenebilir.
### 3. Model Eğitimi (V18 Planı)
Mevcut V17 modeli `ai-engine/models/v17_full_europe.pth` dosyasını kullanır.
- Yeni bir model eğitilirse, `player_model_v17.py` dosyasındaki mimariyle (Embedding boyutu, Layer sayısı) uyumlu olduğundan emin olun.
- Model input boyutu (24 context feature + embeddings) değişirse Python scriptleri patlar.
---
## 🔮 Sırada Ne Var? (Next Steps)
1. **Value Strategy Implementation:** `SmartCouponService` içinde şu an "Banko" stratejisi aktif. "Value" (Değer) bahsi için oran/olasılık marjını kullanan logic eklenebilir.
2. **HT/FT Odds Fetching:** Şu an HT/FT tahminleri yapılıyor ancak bu pazarların (1/1, X/1 vb.) gerçek oranları Mackolik'ten çekilmiyor (0 olarak dönüyor). Scraper güncellenip bu oranlar da çekilebilir.
3. **Real-Time Dashboard:** `live_matches` tablosunu dinleyen bir WebSocket arayüzü ile analizlerin anlık önüze düşmesi sağlanabilir.
---
**Not:** Bu dizindeki (`mds/`) dosyalar, projenin en güncel ve derin teknik bilgisini içerir. Kodlarda kaybolmadan önce burayı okuyun.