🚦 1. Rate Limiting
Premium/Normal/Guest için farklı rate limitler. Premium: sınırsız, Normal: 100/gün, Guest: 30sn preview.
Technical Details:
- Middleware: api, throttle:60,1
- Premium bypass: RateLimiter::for('api')
- play_count tracking (daily reset cron)
- Guest: 30sn preview (intro skip 20%)
💎 2. Premium System Fix
Database migration + UI + Logic düzeltmeleri. is_premium kontrolü ve premium expiry takibi.
Technical Details:
- Migration: add is_premium to users
- UserSeeder: Test premium accounts
- UI: Premium badge header
- Logic: Auth kontrolleri + API
📱 3. Device Limit
Premium: 3 cihaz, Free: 1 cihaz sınırı. Cihaz yönetimi paneli ve auto logout.
Technical Details:
- user_devices table (fingerprint)
- Cihaz yönetimi paneli (logout all)
- Auto logout (max device aşımı)
- Session tracking + cleanup cron
🔄 4. Subscription Cron
Otomatik subscription yenileme ve expiry kontrolü. Günlük cron job.
Technical Details:
- CheckExpiredSubscriptions job
- Scheduler: daily 00:00
- Auto renewal logic
- Notification system
🔐 5. Signed URLs
Stream URL'leri için imzalı URL sistemi. 1 saat expiry, abuse prevention.
Technical Details:
- URL::temporarySignedRoute() - 1 hour
- ValidateSignature middleware
- Throttle: 60 requests/minute
- Rate limiting: Abuse protection
🔒 6. HLS Encryption
AES-128 encryption for HLS streams. Key rotation, secure key storage.
Technical Details:
- FFmpeg: -hls_key_info_file
- Key rotation: Per song unique key
- Secure key storage: storage/keys/
- HLS.js decryption support
⚡ 7. Redis Cache
Redis caching for playlists, albums, genres, sectors. +64% performance boost.
Technical Details:
- MuzibuCacheService: Tenant-aware
- Cache tags: tenant_{id}_{model}
- Auto invalidation on update/delete
- Performance: 1.26s → 0.45s (64%)
⌨️ 8. Keyboard Shortcuts
18 klavye kısayolu. Play/pause, seek, volume, queue, lyrics kontrolleri.
Technical Details:
- 18 shortcuts: Space, K, J, L, ↑, ↓, M, S, N, P, Q, Y, F, 0-9, ?
- Modular Alpine.js component
- Input field detection
- Visual feedback overlay
🎤 9. Lyrics Display
Player overlay lyrics sistemi. Dinamik buton, çoklu dil, queue benzeri tasarım.
Technical Details:
- Overlay panel (sağdan slide-in)
- Dinamik buton: x-show="currentSong?.lyrics"
- JSON format: {"tr": "...", "en": "..."}
- Y tuşu keyboard shortcut
🎚️ 10. Crossfade Optimization v6
Tüm fade süreleri standartlaştırıldı: 5 saniye. Pause, preview, song transition.
Technical Details:
- crossfadeDuration: 6000ms → 5000ms
- fadeOutDuration: 1000ms → 5000ms
- Preview fade: 3000ms → 5000ms
- Pause fade: 1 saniye → 5 saniye
- Song transition: 6 saniye → 5 saniye
- Preview start: 27. saniye → 25. saniye
⌨️ 11. Keyboard Overlay Redesign v6
Minimal & profesyonel tasarım. Türkçe tuş isimleri, compact layout, nötr renkler.
Technical Details:
- Width: 96 → 80 (w-96 → w-80)
- Padding: Minimal (px-4 py-3)
- İkonlar kaldırıldı (gereksiz)
- Renk: muzibu-coral → white/10 (nötr)
- Tuşlar: Türkçe (Play/Pause → Çal/Duraklat)
- Button renk: text-gray (diğer butonlarla aynı)
- HDD butonu kaldırıldı