5.4 KiB
5.4 KiB
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,FINISHEDveUPCOMINGmantıkları yardımcı filtrelere ayrıldı.findMatches()içindestatus === 'UPCOMING'vestatus === '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 backend’de sanitize edilmeye başlandı
Dosyalar:
src/modules/matches/matches.service.tssrc/modules/coupons/coupons.controller.ts
Yapılanlar:
filterUpcomingMatchIds()yardımcı metodu eklendi./coupon/suggestve/coupon/daily-bankoiçinde:- kullanıcı
matchIdsgönderse bile - sadece henüz başlamamış futbol maçları korunuyor
- canlı/bitmiş maçlar backend tarafında eleniyor.
- kullanıcı
- Sanitization sonrası uygun maç kalmazsa kullanıcıya anlamlı hata mesajı dönülüyor.
Amaç:
- UI’de 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.tsxSuggest-Bet-FE/messages/en.jsonSuggest-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,stakegibi 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 API’den 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
- AI’ye 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.tsSuggest-Bet-FE/src/lib/api/coupons/service.tsSuggest-Bet-FE/src/lib/api/matches/types.ts
Yapılanlar:
/coupon/suggestresponse yapısı için ayrıSmartCouponResultDtotanımlandı.SuggestedCouponBetDtove rejected match tipleri eklendi.- Match status tipine
UPCOMING/NOT_STARTEDdesteği eklendi. - Coupon builder UI’si gerçek API kontratına göre güncellendi.
Amaç:
- Frontend’in 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,
- AI’nin 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 buildgeçti
- Frontend:
npx tsc --noEmit --pretty false --incremental falsegeç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.