This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
# Proje Güncelleme Özeti: Smart Coupon API & Canlı Veri Entegrasyonu
|
||||
Tarih: 28 Ocak 2026
|
||||
|
||||
Bu döküman, Smart Betting System V2 kapsamındaki Smart Coupon API geliştirmelerini, karşılaşılan veri bütünlüğü sorunlarını ve uygulanan çözümleri özetler.
|
||||
|
||||
## 🎯 Hedef
|
||||
Kullanıcıların tek bir tıklamayla, canlı maç verileri ve yapay zeka analizlerine dayalı akıllı kuponlar oluşturmasını sağlayan `/predictions/smart-coupon` uç noktasının geliştirilmesi.
|
||||
|
||||
## ✅ Yapılan Geliştirmeler
|
||||
|
||||
### 1. Backend (Python AI Engine)
|
||||
* **API Modelleri (`api_smart_coupon.py`):** `SmartCouponRequest` ve `SmartCouponResponse` Pydantic modelleri oluşturuldu.
|
||||
* **Servis Mantığı (`service_smart_coupon.py`):**
|
||||
* Kupon oluşturma algoritması (Risk, Strateji, Güven filtreleri).
|
||||
* `match_id` tabanlı veri çekme altyapısı `matches` tablosundan `live_matches` tablosuna taşındı.
|
||||
* Gömülü JSON `odds` verisinin parse edilmesi sağlandı.
|
||||
* `BetDeriver` kategorileri ile API Enum'ları arasında map mekanizması kuruldu.
|
||||
* **Entegrasyon (`main.py`):** FastAPI uygulamasına POST `/smart-coupon` endpoint'i eklendi.
|
||||
|
||||
### 2. Frontend (NestJS)
|
||||
* **DTOlar:** Python modellerine karşılık gelen TypeScript DTO'ları (`smart-coupon.dto.ts`) yazıldı.
|
||||
* **Servis ve Controller:**
|
||||
* `PredictionsService` içine `getSmartCoupon` metodu eklendi.
|
||||
* `PredictionsController` içine POST `/predictions/smart-coupon` route'u eklendi.
|
||||
|
||||
### 3. Veri Bütünlüğü ve Feeder İyileştirmeleri
|
||||
Proje sırasında `live_matches` tablosundaki verilerin (Team ID, League ID, Odds) %99 oranında **NULL** olduğu tespit edildi. Bu kritik sorun çözüldü:
|
||||
|
||||
* **Sorun Tespiti:** Mackolik API bazı maçlarda `homeTeam` objesini dönmüyordu, feeder kodu bu durumu handle edemiyordu.
|
||||
* **Feeder Fix (`data-fetcher.task.ts`):**
|
||||
* `refereeName` alanı için Prisma ve TypeScript tip uyumsuzluğu giderildi (`npx prisma generate`).
|
||||
* API yanıt yapısına uygun veri çekme mantığı doğrulandı.
|
||||
* **Toplu Düzeltme (`fix-live-matches.ts`):** `live_matches` tablosundaki eksik verileri API'den tekrar çekerek güncelleyen script yazıldı ve çalıştırıldı (158 maç kurtarıldı).
|
||||
* **Temizlik (`cleanup-live-matches.ts`):** Eski ve geçersiz maç kayıtlarını temizleyen script eklendi (3000+ çöp kayıt silindi).
|
||||
|
||||
### 4. Test ve Doğrulama
|
||||
* **Canlı Kupon Testi (`test_live_coupon.py`):** Gerçek bir `live_match` ID'si ile sistemin bahis ürettiği doğrulandı.
|
||||
* **Augsburg Senaryosu (`test_augsburg_scenario.py`):** Sistemin "1/2" gibi mucize geri dönüşleri tahmin edip kupona ekleyebildiği (Value stratejisi ile) test edildi.
|
||||
|
||||
## 📊 Gelinen Son Durum
|
||||
* **Sistem:** ✅ Çalışıyor
|
||||
* **Veri:** ✅ `live_matches` tablosu düzeltildi ve güncel.
|
||||
* **Eksikler:** Bazı çok eski maçların ID'leri kurtarılamadı (normal), yeni gelen maçlar sorunsuz kaydedilecek.
|
||||
|
||||
## 📂 Oluşturulan/Düzenlenen Kritik Dosyalar
|
||||
* `ai-engine/api_smart_coupon.py`
|
||||
* `ai-engine/service_smart_coupon.py`
|
||||
* `src/modules/predictions/dto/smart-coupon.dto.ts`
|
||||
* `src/tasks/data-fetcher.task.ts`
|
||||
* `src/scripts/fix-live-matches.ts`
|
||||
* `src/scripts/cleanup-live-matches.ts`
|
||||
Reference in New Issue
Block a user