Files
iddaai-be/mds/archive/degisiklik_ozeti_2026_01_28.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

3.2 KiB
Executable File
Raw Blame History

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