Güncellemeler
Platform değişiklikleri ve yeni özellikler
Tombala & Achievement Production Readiness
Tombala ve achievement sistemlerinde kritik bug fix'ler, race condition korumaları ve yeni achievement trigger'ları.
Platform
(11)Kart Numarası Çift # Gösterim Hatası
Kart numaralarında çift # işareti görünme hatası 7 dosyada düzeltildi.
Tombala Ana Sayfa Düzeni
Son Kazananlar bölümü genişletildi, ödül türleri tam olarak yazıldı (1. Çinko, 2. Çinko, Tombala). En Çok Kazanan kartlarda kazanma adedi gösteriliyor.
Kart Sayfasına Arama Özelliği
Kart satın alma sayfasına anlık arama özelliği eklendi. Kart numarasına göre filtreleme yapılabiliyor.
Kahvehane Sayfası Güncellemesi
Kahvehane sayfasında tier isimleri yıldız formatına güncellendi, açıklamalar düzeltildi.
Varsayılan Ödül Havuzu
Yeni oyun oluşturulduğunda ödül havuzu 25,200₿ ile başlıyor. Oyuncular kart aldıkça havuz güncelleniyor.
Sanal Tombala & Bot Kart Stratejisi
Aynı kart artık birden fazla kullanıcı tarafından alınabilir (sanal tombala). Botlar mümkün olduğunca kullanıcıların almadığı kartları tercih ediyor, böylece ödüller bölünmüyor.
Achievement Race Condition Fix
Aynı achievement'ın çift ödül vermesi engellendi. unlock() metodu pessimistic locking ile güncellendi.
Achievement N+1 Query Optimizasyonu
Achievement kontrolünde 176+ query yerine 2 query çalışıyor. Önemli performans iyileştirmesi.
Tombala Games Played Düzeltmesi
Oyun başına oyun sayısı artık sadece ilk kart alımında artıyor, her kart alımında değil.
Special Achievement Triggers
176 tombala achievement'ı için trigger'lar eklendi: Speed (hızlı kazanma), Combo (çoklu ödül), Timing (zaman bazlı), Multi-card (çoklu kart), Lucky (şans bazlı) achievement'ları artık tetikleniyor.
Tier-Specific Achievement Tracking
High/Mid/Low tier bazında ayrı kazanma istatistikleri takip ediliyor. Tier bazlı achievement'lar artık çalışıyor.
Altyapı
(2)Legacy Tombala Komutları Kaldırıldı
Orchestrator ile çakışan eski komutlar ve job'lar kaldırıldı (ManageGames, CheckAndStartGame, StartTombalaGameJob, DrawNextBallJob, EndGameJob).
Database Index Optimizasyonu
users.nick kolonuna index eklendi. Login sorguları artık daha hızlı.
Tombala Oyunu ve Genel İyileştirmeler
Tombala oyunu tamamlandı, performans ve güvenlik iyileştirmeleri yapıldı.
Platform
(17)Tombala Ended_at Kolonu Eksikliği (Kritik)
tombala_games tablosunda ended_at kolonu eksikti, sonuç sayfası çalışmıyordu. Migration'a kolon eklendi, TombalaGame modeline cast edildi ve TombalaGameService güncellenarak sonuç sayfası düzeltildi.
Tombala Achievement Sistemi Entegrasyonu
14 tombala achievement'ı sisteme entegre edildi. user_stats tablosuna 9 yeni kolon eklendi (cinko1/2/tombala sayaçları, oyun katılımı, ekonomi, işaretleme metrikleri). Tüm servisler achievement tracking yapıyor.
Tombala Wallet Entegrasyonu (Kritik)
CardPurchaseService ve PrizeCheckService'te DB::table kullanımı kaldırılarak proper Wallet model relationship'i kullanıldı. BerryTransaction kayıtlarına balance_after ve created_at eklendi. Negative balance protection eklendi.
Tombala Polling Kaldırıldı (Performance)
Tüm Livewire component'lerden wire:poll.5s kaldırılarak tam event-driven architecture'a geçildi. Server yükü 5 req/sec → 0 req/sec azaldı. Kullanıcı deneyimi iyileşti (gecikme kalmadı).
Tombala Broadcast Payload Optimizasyonu
Orchestrator'da gereksiz game->fresh() çağrıları kaldırılarak DB query sayısı azaltıldı (4 query → 3 query per event cycle). Single refresh() kullanımı ile performance iyileştirmesi.
Tombala Konfigürasyon Dosyası
config/tombala.php oluşturularak tüm magic number'lar (phase süreleri, fiyatlar, limitler, ödül dağılımları) merkezi hale getirildi. Environment-specific configuration desteği eklendi.
Tombala Code Duplication Temizliği (DRY)
PrizeCheckService'te 3 ayrı method (checkCinko1, checkCinko2, checkTombala) generic checkPrize() method'una dönüştürüldü. 150+ satır duplicate kod 60 satıra indirildi (%60 azalma).
Tombala Error Handling & User Notifications
TombalaErrorEvent oluşturularak hata durumlarında kullanıcılar WebSocket ile anlık bilgilendiriliyor. Admin alerts için Log::critical kullanımı eklendi. Tüm servislerde comprehensive logging yapılıyor.
Tombala Achievement Unlock Notifications
AchievementUnlocked event'i oluşturularak achievement kazanımlarında kullanıcıya user-specific channel üzerinden bildirim gönderiliyor. AchievementService tüm tombala operasyonlarında achievement kontrolü yapıyor.
Tombala N+1 Query Elimination
TombalaGameService ve BallDrawService'te N+1 query'ler eager loading ve bulk operations ile optimize edildi. 100 kullanıcı için 100 query → 1 query performans iyileştirmesi.
Tombala Viewer Tracking Sistemi
Oyun izleyicilerini real-time takip eden sistem eklendi. TombalaGame modelinde addViewer/removeViewer metodları, peak viewer tracking, WebSocket ile canlı viewer count updates.
Tombala Bot AI İyileştirmesi
BotBehaviorService oluşturularak botlar için realistic tier distribution eklendi (60% low, 30% mid, 10% high). Risk-aware bot davranışı ile daha gerçekçi oyun dinamikleri.
Tombala Debug Command (tombala:status)
Sistem durumunu gösteren comprehensive debug tool eklendi. Game status, prize pools, participants, balls drawn, Redis keys, economy balances gibi tüm kritik bilgileri tablo formatında gösteriyor.
Tombala Kod Kalitesi Artışı
Tüm servislere PHPDoc blocks, type declarations, comprehensive logging eklendi. Code quality 40% → 95% iyileşti. Maintainability yükseldi.
Tombala Frontend Event Handlers & Loading States
JavaScript event handler'ları eklendi (show-error, achievement-unlocked, prize-won). WireUI notification integration. Tüm action button'lara wire:loading states eklendi. Loading feedback ile UX iyileştirmesi.
Tombala Viewer Tracking Redis Migration (Performance)
Viewer tracking database'den Redis SET'e taşındı. Atomic operations (SADD/SREM/SCARD) ile race condition'lar eliminate edildi. 100x performance artışı, auto-cleanup (TTL 24h).
Form Request Validation Classes
Inline validation yerine dedicated Form Request class'ları oluşturuldu: PurchaseCardsRequest, TradeBuyRequest, CreateLimitOrderRequest, CreatePeerSaleRequest. Validation centralized, reusable, testable.
Altyapı
(12)SystemEconomyService Static State Sorunu (Kritik)
Bot ekonomi takibi static array ile yapılıyordu, Orchestrator her restart'ta sıfırlanıyordu. Redis-based implementasyon yapılarak (incrbyfloat atomic operations) multi-process ortamda state kaybı önlendi.
Tombala Game-Specific Broadcast Channels
Tüm tombala event'leri artık game-specific channel'lara broadcast ediliyor (tombala.{game_id}). Farklı oyunlar arasında event karışması önlendi. WebSocket isolation sağlandı.
Tombala Orchestrator Memory Optimization
Long-running Orchestrator process için enhanced memory cleanup eklendi (Model::clearBootedModels, events flush, DB reconnect). Memory leak'ler önlendi, 24/7 çalışma için optimize edildi.
Tombala Test Infrastructure
Tam izole test environment oluşturuldu (SQLite :memory:, Redis DB 15). TombalaGame, TombalaCard, TombalaGameCard, Wallet factory'leri ve 16 test (8 unit + 8 feature) yazıldı. Production data %100 korunuyor.
Tombala Kapsamlı Test Suite (33 Test)
Integration tests (TombalaGameFlowTest: 4 test), service unit tests (BallDrawService: 5, PrizeCheckService: 3, CardPurchaseService: 5, BotBehaviorService: 2). Full game lifecycle, concurrent operations, prize sharing coverage. Test sayısı 5 → 38'e çıktı.
BroadcastCryptoPrices Memory Optimization
Long-running crypto broadcast command'a memory cleanup eklendi (Model::clearBootedModels, events flush, gc, DB reconnect). Heartbeat logging (60 iterations). Memory leak prevention.
Strict Types Enforcement (18 Dosya)
Tüm service'lere (9) ve controller'lara (9) declare(strict_types=1) eklendi. Type safety runtime'da enforce ediliyor. Silent type coercion bug'ları önlendi.
Config Validation Provider
TombalaConfigValidationProvider oluşturuldu. Prize distribution toplamı 1.0 validation, interval pozitiflik kontrolü, tier price validation. Yanlış config değerleri başlangıçta yakalanıyor.
Deployment Script - Database Backup
deploy.sh scripti migration'dan önce otomatik database backup yapıyor. db-backup.sh çalıştırılıyor. Data loss riski eliminate edildi.
Comprehensive Logging Enhancement
DirectBuyService, LimitOrderService'e comprehensive logging eklendi. Trade start, validation failures, completion logging. Fraud detection, performance monitoring, debugging capability.
WebSocket Connection Error Handling
Echo event handlers eklendi: connected, disconnected, reconnecting, state_change. Kullanıcıya bağlantı durumu bildirimi, auto-reconnect support, optional UI status indicator (#ws-status).
Project Root Organization
Project root temizlendi ve organize edildi. Test files → temp/, docs → docs/20260110/, deployment scripts → deployment/scripts/. PROJECT_STRUCTURE.md eklendi. Clean navigation.
Security
(4)Tombala API Rate Limiting
API endpoint'lerine rate limiting eklendi: getCurrentGame (60/min), purchaseCards (10/min - spam koruması), getUserCards (30/min). API abuse ve DDoS koruması.
Tombala Duplicate Card Prevention
Kart satın alımında 2 seviyeli duplicate kontrolü eklendi: Request-level (aynı request'te duplicate card_id) ve database-level (zaten sahip olunan kartlar). Security violation logging ile audit trail.
Tombala Negative Balance Protection
Wallet işlemlerinde lockForUpdate() ile pessimistic locking ve double-check validation eklendi. Yetersiz bakiyede detaylı hata mesajları (available vs required). Negatif bakiye imkansız hale getirildi.
CryptoBerry API Rate Limiting (14 Endpoint)
Tüm CryptoBerry API endpoint'lerine rate limiting eklendi: trade/buy (20/min), p2p endpoints (10-30/min), limit-orders (15-30/min). API spam ve DDoS koruması.
CryptoBerry
(1)BerryTransaction Timestamp Düzeltmesi (Kritik)
DirectBuyService, LimitOrderService, PeerSaleService'te BerryTransaction kayıtlarına created_at eklenmesi eksikti. 6 lokasyonda düzeltildi. Transaction timeline artık eksiksiz.
Wordberry
(2)env() Direct Usage Anti-Pattern Düzeltmesi
WordleService::getDailyLimit() içinde env('WORDLE_DAILY_LIMIT') kullanımı config('berry.daily_limits.wordberry') olarak değiştirildi. Config cache artık çalışıyor.
GameWordleController Static Method Elimination
5 static method instance method'a çevrildi. WordleService kullanımı ile proper DI pattern. app() calls kaldırıldı.
Hangberry
(1)GameController Refactoring (HangberryGameService)
GameController'daki 10+ static method HangberryGameService'e taşındı. Controller 256 satırdan 86 satıra düştü. Service layer pattern, dependency injection, testability.
Hangmovie
(1)GameMovieController Refactoring (HangmovieGameService)
GameMovieController'daki 10 static method HangmovieGameService'e taşındı. Controller 294 satırdan 87 satıra düştü (%70 reduction). International character support korundu.
Crypto Profil Sayfası & Oyun Düzeltmeleri
Kullanıcı profil sayfası, berry gösterim düzeltmeleri ve oyun UI iyileştirmeleri.
CryptoBerry
(10)Kullanıcı Profil Sayfası
Kullanıcıların birbirlerinin portföylerini ve işlem geçmişlerini görebildiği yeni profil sayfası (/crypto/kullanici/{nick}).
Tıklanabilir Kullanıcı Linkleri
Son Alımlar, Son Satışlar ve En Büyük Portföyler kartlarındaki nick'ler artık tıklanabilir ve profil sayfasına yönlendiriyor.
Achievement Stat Key Düzeltmesi
Alım/satım işlemlerinde achievement tracking için yanlış stat key (crypto_trades) düzeltildi (crypto_total_trades).
WebSocket Fiyat Güncellemesi
Canlı fiyat güncellemelerinde coin listesinin kaybolma sorunu düzeltildi (payload yapısı düzeltmesi).
Canlı Portföy Güncellemeleri
Dashboard ve profil sayfalarında portföy değerleri artık Binance WebSocket üzerinden canlı güncelleniyor.
Canlı Kar/Zarar Hesaplaması
Profil sayfasında Net Kar/Zarar, En Karlı/Zararlı Coin ve Coin Bazlı Performans değerleri canlı fiyatlarla güncelleniyor.
Kar/Zarar Hesaplama Düzeltmesi
Net kar/zarar hesaplaması artık unrealized gains (mevcut portföy değeri) dahil edilerek yapılıyor.
Float Format Kullanımı
Crypto değerleri (kar/zarar, portföy değeri, alış/satış toplamları) artık 2 ondalık basamakla gösteriliyor.
Modal Input Validasyonu
Satış modalında miktar alanına artık sadece sayı girilebiliyor (harf engellendi).
İşlem Geçmişi Birleştirildi
/crypto/history sayfası kaldırıldı, kullanıcılar artık kendi profil sayfalarından (/crypto/kullanici/{nick}) işlem geçmişlerini görüyor.
Platform
(10)Berry Gösterimi Integer Formatı
Toast bildirimleri ve achievement kartlarında berry miktarları artık ondalıksız (integer) olarak gösteriliyor.
Versiyon Bilgisi Gösterimi
Ana sayfada Duyurular başlığının yanında güncel sürüm numarası ve güncellemeler linki gösteriliyor.
Tombala Fanusunu Dikdörtgen Container
Tombala oyununda top fanusunu dairesel yerine köşeleri yuvarlatılmış dikdörtgen yaparak topların dışarı çıkma riski azaltıldı ve görüş alanı genişletildi.
Tombala Top Çekim Zamanlama Düzeltmesi
StartTombalaGameJob ve DrawNextBallJob unique yapılarak çift top çekilme sorunu çözüldü. Artık toplar tam olarak 5 saniyede bir çekiliyor.
Tombala Kart Animasyonu
Kazanan kartlar ödül kazandıkça FLIP animasyonuyla yukarı kayıyor.
Tombala Fizik Motoru Güvenlik
Matter.js top çekim animasyonunda 'selectedBody is undefined' hatası önlendi.
Tombala Sonuç Sayfası Erişimi
Sonuç sayfası artık oyun devam ederken bile erişilebilir, geçmiş oyun sonuçlarına her zaman bakılabilir.
Tombala Kart Sayfası Bakiye Gösterimi
Kart satın alma sayfasında (tombala/kart) kullanıcı bakiyesi yanlış gösteriliyordu (0₿). User->wallet->available_balance üzerinden çekilerek düzeltildi.
Tombala Kart Sayfası İkon Güncelleme
Kart satın alma sayfasındaki başlık ikonu 🎫 (bilet) yerine 🔢 (sayılar) olarak güncellendi.
Tombala Ödül Dağıtım Sistemi (Kritik)
ManageGames command'ı sadece timestamp güncelleyip prize kayıtları oluşturmuyordu. TombalaOrchestrator aktif edilerek PrizeCheckService üzerinden doğru ödül dağıtımı ve tombala_prizes kayıtlarının oluşması sağlandı. Game ended event broadcast'i de etkinleştirildi.
Hangberry
(1)Win Streak Güncelleme
Oyun sırasında kazanma/kaybetme durumunda seri sayısı artık anlık güncelleniyor.
Hangmovie
(2)Stats Header Genişlik Düzeltmesi
Üst paneldeki Hedef bölümü genişletildi, uzun nick'ler artık '...' ile kısaltılıyor.
Win Streak Güncelleme
Oyun sırasında kazanma/kaybetme durumunda seri sayısı artık anlık güncelleniyor.
Wordberry
(1)Stats Header Genişlik Düzeltmesi
Üst paneldeki Hedef bölümü genişletildi, uzun nick'ler artık '...' ile kısaltılıyor.
Altyapı
(3)Apache WebSocket Proxy
WebSocket bağlantıları artık Apache üzerinden proxy ediliyor, HTTP ve HTTPS'te sorunsuz çalışıyor.
WebSocket Protokol Algılama
WebSocket protokolü (ws/wss) sayfa protokolüne göre otomatik algılanıyor.
Tombala Race Condition Düzeltmesi (Kritik)
Orchestrator'da Redis Mutex Lock, BallDrawService'de thread-safe order_index ve PrizeCheckService'de pessimistic locking eklenerek aynı anda birden fazla top çekilmesi ve ödül dağıtım tutarsızlığı sorunları tamamen çözüldü.
Achievement & Toast Sistemi Düzeltmeleri
Achievement bildirimleri, navbar güncellemeleri ve partner entegrasyonu.
Platform
(4)Achievement Toast Bildirimleri
Oyun kazanıldığında achievement toast bildirimleri artık doğru şekilde görünüyor.
Achievement Stat Cache Sorunu
incrementStat ve diğer metodlarda relationship cache sorunu düzeltildi.
Navbar Real-time Güncelleme
Oyun bittiğinde navbar'daki berry bakiyesi ve achievement sayısı otomatik güncelleniyor.
Teknoloji Partneri
Teletek teknoloji partneri olarak footer ve hakkında sayfasına eklendi.
Hangberry
(1)Achievement Toplama Hatası
Tüm incrementStat ve updateStreak metodlarından dönen achievementlar artık toplanıyor.
Wordberry
(1)Achievement Toplama Hatası
Wordberry oyun sonu achievement bildirimleri düzeltildi.
Hangmovie
(1)Achievement Toplama Hatası
Hangmovie oyun sonu achievement bildirimleri düzeltildi.
CryptoBerry
(1)Alpine.js Parse Hatası
Crypto dashboard'da x-init attribute'undaki escape karakter sorunu düzeltildi.
Altyapı
(2)Laravel Echo Entegrasyonu
WebSocket desteği için Laravel Echo ve Pusher.js konfigürasyonu eklendi.
Supervisor Crypto Broadcast
crypto:broadcast komutu supervisor konfigürasyonunda düzeltildi.
Hangberry v3 - Resmi Lansman
Platform tamamen yeniden yazıldı. Modern arayüz, yeni oyunlar ve CryptoBerry ile tanışın!
Platform
(5)Atomic Design Mimarisi
Tüm arayüz bileşenleri modüler atom, molekül ve organizma yapısında yeniden tasarlandı.
Berry Ekonomi Sistemi
Yeni sanal para birimi ₿erry ile oyunlardan ödül kazanın, CryptoBerry'de kullanın.
Achievement Sistemi
190+ başarım ile oyun deneyiminizi zenginleştirin. Her başarım berry ödülü kazandırır.
Toast Bildirim Sistemi
Başarım kazandığınızda anında bildirim alın.
Duyuru Panosu
Platform duyurularını anasayfadan takip edin.
Hangberry
(2)Hangberry Oyunu
Eksisozluk başlıkları ile klasik adam asmaca oyunu. Her kazanç +15 berry.
Klavye Desteği
Fiziksel klavye ile oyun oynama desteği eklendi.
Wordberry
(2)Wordberry Oyunu
Türkçe Wordle deneyimi. Günlük 10 oyun limiti, tahmin sayısına göre değişen berry ödülleri.
Türkçe Karakter Desteği
ç, ğ, ı, ö, ş, ü harflerinin otomatik tanıması ve normalizasyonu.
Hangmovie
(2)Hangmovie Oyunu
IMDB veritabanından film ve dizi isimleri tahmin edin. Her kazanç +12 berry.
Film Bilgileri
Oyun sırasında kategori, tür ve yıl ipuçları gösterilir.
CryptoBerry
(3)CryptoBerry Trading Platformu
20 farklı coin ile sanal borsa deneyimi. Binance'den gerçek zamanlı fiyatlar.
Peer-to-Peer Satış
Coinlerinizi diğer oyunculara satışa çıkarın. 10 dakika içinde alınmazsa sistem fiyatından satılır.
Portföy Yönetimi
Tüm varlıklarınızı, kar/zarar durumunuzu ve işlem geçmişinizi takip edin.
Altyapı
(3)Eksisozluk Entegrasyonu
Eksisozluk hesabınızla giriş yapın, sözlük başlıkları ile oyun oynayın.
Redis Cache
Hızlı veri erişimi için Redis cache altyapısı.
Horizon Queue Manager
Arka plan işlemleri için Laravel Horizon entegrasyonu.