Files
iddaai-be/mds/changelog-2027-04-09.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

5.4 KiB
Raw Blame History

Changelog - 2027-04-09

Bu doküman, 2027-04-09 tarihinde Suggest-Bet-BE ve Suggest-Bet-FE projelerinde yapılan ilgili ürün ve entegrasyon değişikliklerini özetler.

Kapsam

  • Maç detay tahmin kartı (prediction-card) UX ve metin iyileştirmeleri
  • Kupon oluşturucu (coupon-builder) veri akışı ve güvenlik düzeltmeleri
  • Backend kupon aday maç filtreleme mantığının sertleştirilmesi
  • Frontend locale, tooltip ve okunabilirlik iyileştirmeleri

Backend Değişiklikleri

1. Kupon için uygun maç filtreleme mantığı güçlendirildi

Dosya:

  • src/modules/matches/matches.service.ts

Yapılanlar:

  • LIVE, FINISHED ve UPCOMING mantıkları yardımcı filtrelere ayrıldı.
  • findMatches() içinde status === 'UPCOMING' ve status === 'NOT_STARTED' desteği eklendi.
  • Varsayılan maç sorguları artık yalnızca kupona uygun yaklaşan maçları döndürecek şekilde sıkılaştırıldı.
  • findUpcomingMatches() artık:
    • sadece ilgili spor dalını,
    • gelecekteki maçları,
    • canlı olmayan maçları,
    • bitmemiş maçları döndürüyor.

Amaç:

  • Bitmiş veya canlı maçların yanlışlıkla kupon aday havuzuna düşmesini engellemek.

2. Kullanıcıdan gelen match ID listesi backendde sanitize edilmeye başlandı

Dosyalar:

  • src/modules/matches/matches.service.ts
  • src/modules/coupons/coupons.controller.ts

Yapılanlar:

  • filterUpcomingMatchIds() yardımcı metodu eklendi.
  • /coupon/suggest ve /coupon/daily-banko içinde:
    • kullanıcı matchIds gönderse bile
    • sadece henüz başlamamış futbol maçları korunuyor
    • canlı/bitmiş maçlar backend tarafında eleniyor.
  • Sanitization sonrası uygun maç kalmazsa kullanıcıya anlamlı hata mesajı dönülüyor.

Amaç:

  • UIde opsiyonel olarak bitmiş maçlar gösterilse bile,
  • kupon üretiminde skor, maç sonu durum veya sonradan oluşmuş istatistiklerin AI akışına sızmasını kesin olarak önlemek.

Frontend Değişiklikleri

1. Prediction card okunabilirliği ve fallback mantığı geliştirildi

Dosyalar:

  • Suggest-Bet-FE/src/components/matches/prediction-card.tsx
  • Suggest-Bet-FE/messages/en.json
  • Suggest-Bet-FE/messages/tr.json

Yapılanlar:

  • IntlError: MISSING_MESSAGE üreten dinamik reason key kullanımı güvenli hale getirildi.
  • Locale mesajı varsa çeviri, yoksa güvenli fallback metin kullanılıyor.
  • edge, stake gibi teknik terimler açıklayıcı tooltiplerle desteklendi.
  • Market etiketleri locale tabanlı hale getirildi.
  • Tahmin kartı daha okunur bir karar paneli yapısına dönüştürüldü:
    • ana öneri
    • güven / oran / stake / play score
    • motor kırılımı
    • alternatif marketler
    • market panosu
    • skor senaryoları

Amaç:

  • Kullanıcının APIden gelen tahmin verisini ek açıklama gerektirmeden anlayabilmesi.

2. Coupon Builder ekranı yeniden kurgulandı

Dosya:

  • Suggest-Bet-FE/src/components/coupons/coupon-builder-content.tsx

Yapılanlar:

  • Sayfa artık generic maç listesi değil, kupon oluşturma akışına özel bir ekran gibi davranıyor.
  • Yaklaşan maçlar:
    • seçilebilir
    • AIye manuel havuz olarak gönderilebilir
  • Hiç seçim yapılmazsa:
    • sistem tüm uygun yaklaşan futbol maç havuzundan otomatik öneri üretiyor
  • Sağ panelde:
    • strateji seçimi
    • seçilen maç havuzu
    • AI önerilen bahisler
    • toplam oran
    • beklenen kazanma oranı net şekilde gösteriliyor.
  • Bilgi ikonları ve tooltip açıklamaları eklendi.

Amaç:

  • Kupon oluşturucu akışını kullanıcı için sezgisel hale getirmek
  • “hangi havuzdan öneri üretildi?” sorusunu görünür kılmak

3. Bitmiş maçlar opsiyonel referans listesi olarak eklendi

Dosya:

  • Suggest-Bet-FE/src/components/coupons/coupon-builder-content.tsx

Yapılanlar:

  • Kullanıcı isterse bitmiş maçları ayrı bir bölümde görebiliyor.
  • Bu bölüm:
    • varsayılan olarak kapalı
    • sadece referans amaçlı
    • salt okunur
    • seçilemez
  • UI üzerinde bu maçların tahmine dahil edilmediği açıkça belirtiliyor.

Amaç:

  • Kullanıcıya geçmiş görünürlük vermek
  • aynı anda tahmin güvenliğini bozmamak

4. Kupon API response tipleri güncellendi

Dosyalar:

  • Suggest-Bet-FE/src/lib/api/coupons/types.ts
  • Suggest-Bet-FE/src/lib/api/coupons/service.ts
  • Suggest-Bet-FE/src/lib/api/matches/types.ts

Yapılanlar:

  • /coupon/suggest response yapısı için ayrı SmartCouponResultDto tanımlandı.
  • SuggestedCouponBetDto ve rejected match tipleri eklendi.
  • Match status tipine UPCOMING / NOT_STARTED desteği eklendi.
  • Coupon builder UIsi gerçek API kontratına göre güncellendi.

Amaç:

  • Frontendin gerçek backend response yapısıyla birebir uyumlu çalışması

Ürün Etkisi

Sonuç olarak:

  • Kupon oluşturucu artık bitmiş maçlarla yanlış öneri üretmiyor.
  • Backend tarafı güvenlik filtresi sayesinde istemciye güvenmeden doğru maç havuzunu seçiyor.
  • Frontend tarafı kullanıcıya:
    • hangi maçların aday olduğunu,
    • hangilerinin sadece referans olduğunu,
    • AInin hangi stratejiyle ne önerdiğini açık şekilde gösteriyor.
  • Prediction card tarafında tahmin verileri daha anlaşılır ve daha stabil hale geldi.

Doğrulama

Yapılan kontroller:

  • Backend:
    • npm run build geçti
  • Frontend:
    • npx tsc --noEmit --pretty false --incremental false geçti

Not

Frontend repo içinde ayrı bir mds klasörü bulunmadığı için bu ortak changelog backend repo içindeki mds klasörüne eklendi.