🚀 Muzibu Player

İlk İmplementasyon Planı - Sıfırdan Başlangıç

📅 27 Kasım 2025

🔴 ÖNEMLİ KURALLAR

✅ MEVCUT DURUM (27 Kasım 2025)

Faz 1 TAMAMLANDI:

⚡ FAZ 1: ACİL KRİTİK FİX'LER ACİL MİGRATE YOK

Hedef: Player'ın çalışmayan/eksik özelliklerini onar. Süre: 2-3 saat

1.1
Shuffle Fix
Sorun: Buton var ama çalışmıyor (satır 98: shuffle: false)
Çözüm: Fisher-Yates algoritması implement et
Dosya: muzibu-player-v2.js (satır 237-250 arası)
Migration: ❌ Gerek yok
1.2
Volume %100 Başlasın
Sorun: Satır 102: volume: 70 → %100 olmalı
Çözüm: Default volume'u 100 yap + localStorage persistence
Dosya: muzibu-player-v2.js (satır 102)
Migration: ❌ Gerek yok
1.3
Add to Queue (Placeholder → API)
Sorun: Satır 1310-1313: Sadece toast gösteriyor!
Çözüm: Gerçek API call ile şarkı/albüm/playlist ekleme
Dosya: muzibu-player-v2.js (satır 1310-1341)
Migration: ❌ Gerek yok (API endpoint zaten var)
⚠️ Dikkat: Bu faz tamamen JavaScript değişiklikleri. Migration veya database işlemi YOK!
🏢 FAZ 2: B2B KRİTİK - QUEUE PERSİSTENCE B2B MİGRATE YOK

Hedef: Sayfa yenilenince queue kaybolmasın + Sonsuz döngü. Süre: 3-4 saat

2.1
LocalStorage Queue Persistence
Gereksinim: Queue, queueIndex, currentTime, volume localStorage'a kaydet
İmplementasyon: QueueStorage class oluştur
Dosya: muzibu-player-v2.js (yeni class)
Migration: ❌ LocalStorage kullanıyor
2.2
B2B Sonsuz Döngü - Genre-Based Auto Continue
Senaryo: Cafe PC'si sabah açılır → Gün boyu müzik çalar → Liste bitince otomatik devam!
Mantık: Queue bittiğinde son şarkının türünden (genre) yeni şarkılar yükle
API: GET /api/muzibu/songs/by-genre/{genre_id}?limit=50
Migration: ❌ API endpoint gerekli (backend)
📝 Backend İhtiyacı: /api/muzibu/songs/by-genre/{id} endpoint'i var mı kontrol et!
⌨️ FAZ 3: KEYBOARD SHORTCUTS B2B MİGRATE YOK

Hedef: Spotify tarzı klavye kontrolleri. Süre: 2 saat

3.1
Keyboard Event Listener
Kısayollar: Space (play/pause), Arrow keys (next/prev/volume), M (mute), S (shuffle), R (repeat)
İmplementasyon: initKeyboardShortcuts() metodu
Dosya: muzibu-player-v2.js
Migration: ❌ Gerek yok
📱 FAZ 4: MEDIA SESSION API MİGRATE YOK

Hedef: Lock screen, notification, klavye medya tuşları. Süre: 2 saat

4.1
Media Session Integration
Özellikler: Lock screen controls, OS notification widget, Bluetooth headset buttons
API: navigator.mediaSession (native browser API)
Dosya: muzibu-player-v2.js
Migration: ❌ Browser API

🔜 Sonraki Fazlar (İlk 4 Faz Sonrası)

Faz 5: Chromecast Support (B2B Kritik)

Faz 6: Offline Mode (Service Worker + DRM)

Faz 7: Equalizer (Premium Özellik)

📊 Öncelik Matrisi

Faz Özellik Öncelik Süre Migrate
1 Kritik Fix'ler 🔴 ACİL 2-3h
2 Queue Persistence + B2B 🏢 B2B 3-4h
3 Keyboard Shortcuts 🎯 Yüksek 2h
4 Media Session API 🎯 Yüksek 2h

✅ İLK 4 FAZ TOPLAM SÜRESİ: 9-11 SAAT

Tüm işlemler: Sadece JavaScript değişiklikleri, migration YOK!

Dosyalar: Sadece muzibu-player-v2.js düzenlenecek

Risk: Düşük - Mevcut kod üzerine ekleme yapılacak

🎯 İlk Adım: FAZ 1'den Başla

SIRASIYLA YAPALIM!

  1. Git Checkpoint Oluştur (Güvenlik)
  2. Faz 1.1: Shuffle Fix (30 dk)
  3. Faz 1.2: Volume Fix (15 dk)
  4. Faz 1.3: Add to Queue API (1 saat)
  5. Test Et → Kullanıcıya göster
  6. Faz 2'ye Geç