🏢 İşletme Arkaplan Müzik Sistemi

Muzibu Business - Kafeler, restoranlar, barlar ve mağazalar için kesintisiz müzik yayını

📍 Hedef: Barista/garson/işletme sahibi sabah açar, akşama kadar otomatik müzik çalar. Siteye girmesine gerek bile kalmasın - tam otomatik, kesintisiz sistem.

📅 5 Aralık 2025 🎯 B2B Background Music 👤 Business Strategy

🏆 Benchmark - Mevcut B2B Müzik Sistemleri

🟢

Spotify Business

Dünya lideri - $26.99/ay

✅ Curated playlists for business (Kafe, Bar, Restoran)

✅ No ads (reklamsız)

✅ Remote control (uzaktan kontrol)

✅ Unlimited skips (sınırsız atla)

✅ Scheduling (zamanlama - sabah/akşam farklı)

✅ Volume normalization (ses normalleştirme)

❌ Lisans sorunu (telif ödemeleri)

🎵

Soundtrack Your Brand

B2B specialist - $34/ay

✅ Business licensed music (işletme lisanslı)

✅ Auto-DJ mode (otomatik DJ)

✅ Mood-based playlists (mood bazlı)

✅ Time scheduling (zaman çizelgesi)

✅ Multi-location support (çoklu şube)

✅ Analytics (dinleme analizi)

✅ Offline mode (çevrimdışı çalışma)

☁️

Cloud Cover Music

Enterprise - $30/ay

✅ 24/7 unattended playback (gözetimsiz çalma)

✅ Business categories (Cafe, Restaurant, Retail)

✅ Energy level control (enerji seviyesi)

✅ Automatic station rotation (otomatik rotasyon)

✅ Web dashboard + mobile app

🤖

Rockbot

Interactive - $24.95/ay

✅ Customer request system (müşteri istek)

✅ Automated playlists (otomatik playlist)

✅ Scheduling by day/time (gün/saat bazlı)

✅ Tablet/TV display integration

✅ Social media integration

💡 Ortak Özellik: Tüm sistemler "Set & Forget" (Ayarla ve unut) prensibine göre çalışır. Bir kere başlat, sonra müdahale etme - sürekli otomatik müzik.

🎯 Ana Gereksinimler - Muzibu Business

1

∞ Sonsuz Otomatik Oynatma KRİTİK

Senaryo: Barista sabah 08:00'de "Başlat" tuşuna basar. Sistem akşam 23:00'e kadar hiç durmadan otomatik müzik çalar.

🔧 Teknik Çözüm:

  • Infinite Queue System - Kuyruk 3 şarkıdan azalınca otomatik yeni şarkılar ekle
  • Auto-Refill Logic - Playlist bitince benzer şarkılarla doldur
  • No End Condition - "Son şarkı" kavramı yok, sürekli devam
  • Error Recovery - Hata olursa otomatik sonraki şarkıya geç (mevcut)
2

🖱️ Tek Tıkla Başlat - "Set & Forget" KRİTİK

Senaryo: Kullanıcı siteye girer → "Kafe Modu Başlat" tuşuna basar → Tarayıcıyı minimize eder → Akşama kadar dokunmasına gerek yok.

🔧 Teknik Çözüm:

  • Business Mode - Özel "İşletme Modu" sayfası (/business-mode)
  • One-Click Preset - "Kafe", "Restoran", "Bar" butonları → Tek tıkla başla
  • Background Playback - Tarayıcı minimize olsa bile çalsın
  • Persistent Session - Sayfa yenilense bile devam et (localStorage)
3

🕐 Mood & Zaman Çizelgesi Yüksek Öncelik

Senaryo: Sabah sakin müzik (Acoustic, Jazz), öğlen enerjik (Pop, Indie), akşam rahat (Lounge, Chill).

🔧 Teknik Çözüm:

  • Time-Based Playlists - Saat dilimlerine göre farklı playlist'ler
  • Mood Tags - Şarkılara mood tag'leri (Energetic, Calm, Upbeat)
  • Automatic Switching - Belirli saatte otomatik geçiş
  • Energy Level - 1-10 arası enerji seviyesi (sabah 4, akşam 7)
4

🏷️ Sektöre Özel Playlist'ler Yüksek Öncelik

Senaryo: Kafe sahibi "Kafe Modu" seçer → Jazz, Acoustic, Indie mix. Bar sahibi "Bar Modu" seçer → House, Electronic, Pop mix.

🔧 Teknik Çözüm:

  • Business Categories - Kafe, Restoran, Bar, Mağaza, Gym, Spa
  • Genre Mapping - Her kategori için uygun genre'ler
  • Smart Mix - Genre'leri akıllıca karıştır (monotonluk olmasın)
  • Customization - Kullanıcı tercihlerine göre özelleştir
5

💾 Session Persistence - Kaldığın Yerden Devam Orta Öncelik

Senaryo: Yanlışlıkla tarayıcı kapandı → Tekrar aç → Aynı playlist'te kaldığı yerden devam et.

🔧 Teknik Çözüm:

  • localStorage Backup - Queue, current song, position kaydet
  • Auto-Resume - Sayfa açılınca otomatik resume et
  • State Restoration - Playlist, mode, volume geri yükle
  • Deep Link Support - /business-mode?resume=true
6

🔊 Ses Normalleştirme Orta Öncelik

Sorun: Bir şarkı çok yüksek, diğeri çok alçak → Müşteri rahatsız olur.

🔧 Teknik Çözüm:

  • Web Audio API - GainNode ile ses seviyesi normalize et
  • ReplayGain - Şarkı metadata'sından loudness bilgisi al
  • Dynamic Compression - DynamicsCompressorNode ile pik kontrolü
  • Target Level - Tüm şarkıları -14 LUFS seviyesinde tut
7

🎛️ Basit Kontroller - Minimal UI Düşük Öncelik

Senaryo: Garson müşteri isteği üzerine hızlıca şarkıyı atlamak istiyor → Büyük "Next" butonu.

🔧 Teknik Çözüm:

  • Large Buttons - Play/Pause, Next, Volume (büyük dokunmatik)
  • Minimal Info - Sadece şarkı adı + sanatçı (fazla detay yok)
  • No Scrubbing - İleriye/geriye sarma yok (gerekmez)
  • Keyboard Shortcuts - Space=Pause, →=Next, ↑↓=Volume
8

📱 Uzaktan Kontrol (Opsiyonel) Düşük Öncelik

Senaryo: Barista kasada, bilgisayar arkada → Telefon ile volume ayarı veya şarkı atlama.

🔧 Teknik Çözüm:

  • Session Code - 6 haneli kod ile eşleştir (PIN gibi)
  • WebSocket - Telefon → Server → PC (real-time)
  • Basic Controls - Play/Pause, Next, Volume (basit UI)
  • QR Code - Ekranda QR göster, telefonla tara, eşleş

🎨 UI/UX Tasarım - Business Mode

📱 Business Mode Ana Sayfa

Header

• Logo + "İşletme Modu" badge

• Session timer (08:32:15 çalıyor)

Mod Seçimi (İlk Giriş)

• 🏪 Kafe - Jazz, Acoustic, Indie

• 🍽️ Restoran - Classical, Lounge, Smooth Jazz

• 🍻 Bar - House, Electronic, Pop

• 🛍️ Mağaza - Pop, Indie, Upbeat

• 💪 Gym - Workout, EDM, Rock

Now Playing (Büyük)

• Album cover (büyük görsel)

• Şarkı adı + Sanatçı (büyük font)

• Progress bar (ince çizgi)

Controls (Basit)

• Büyük "Next" butonu

• Volume slider

• Pause butonu (nadiren kullanılır)

⚙️ Settings Panel (Drawer)

Zaman Çizelgesi

• 08:00-12:00 → Sakin (Enerji 4/10)

• 12:00-18:00 → Orta (Enerji 6/10)

• 18:00-23:00 → Enerjik (Enerji 8/10)

Genre Karması

• Jazz: 40%

• Acoustic: 30%

• Indie: 20%

• Pop: 10%

Otomatik Kontroller

• ✅ Auto-play (sayfa açılınca başla)

• ✅ Auto-resume (kesintiden sonra)

• ✅ Crossfade (15 saniye)

• ✅ Volume normalize

Remote Control

• QR Code göster

• PIN: 482731

• Bağlı cihaz: iPhone (13:45)

🏗️ Teknik Mimari

⚡ Frontend Architecture

📄 Yeni Sayfa

/business-mode - Özel işletme modu sayfası

  • • Alpine.js store: businessMode
  • • Minimal layout (player odaklı)
  • • Full-screen mode support

🎵 Player Modu

player-core.js - Yeni mod ekle

  • • businessMode: true flag
  • • Infinite queue logic
  • • Auto-refill function

💾 Persistence

localStorage - State backup

  • • Queue snapshot (her 30 saniye)
  • • Current song + position
  • • Business mode settings

🔊 Audio Processing

Web Audio API - Normalization

  • • GainNode (volume normalize)
  • • DynamicsCompressor (peak limiter)
  • • Target: -14 LUFS

🖥️ Backend Architecture

📊 Database

Yeni tablolar

  • business_modes - Kafe, Bar, Restoran
  • time_schedules - Saat bazlı planlar
  • mood_tags - Şarkı mood etiketleri

🎯 API Endpoints

Yeni controller'lar

  • • GET /api/business/modes
  • • POST /api/business/start
  • • GET /api/business/queue/refill

🤖 Auto-Refill Logic

Akıllı playlist doldurma

  • • Genre matching algorithm
  • • Mood/energy filtering
  • • Duplicate prevention (3 saat)
  • • Time-based switching

🔌 WebSocket (Remote)

Real-time kontrol

  • • Session pairing (PIN based)
  • • Command broadcast
  • • State sync (volume, song)

🗺️ Uygulama Roadmap

P1

Phase 1: Temel Sistem (MVP) 2-3 Gün

✅ Infinite Queue System

  • • player-core.js → Auto-refill logic
  • • Queue < 3 şarkı → Yeni şarkı ekle
  • • Genre/sector based random selection

✅ Business Mode Page

  • • /business-mode route
  • • Minimal UI (büyük player)
  • • One-click start buttons

✅ Session Persistence

  • • localStorage backup
  • • Auto-resume on page load
P2

Phase 2: Mood & Scheduling 3-4 Gün

✅ Business Categories

  • • Database: business_modes table
  • • Kafe, Restoran, Bar presets
  • • Genre mapping for each

✅ Mood Tags

  • • Database: mood_tags → muzibu_songs
  • • Calm, Energetic, Upbeat tags
  • • Energy level (1-10)

✅ Time Scheduling

  • • Database: time_schedules table
  • • Saat dilimi → Mood mapping
  • • Auto-switch logic
P3

Phase 3: Audio Quality & Polish 2-3 Gün

✅ Volume Normalization

  • • Web Audio API integration
  • • GainNode + DynamicsCompressor
  • • Target: -14 LUFS

✅ UI Polish

  • • Full-screen mode
  • • Keyboard shortcuts
  • • Settings drawer
P4

Phase 4: Remote Control (Opsiyonel) 4-5 Gün

✅ WebSocket Setup

  • • Laravel WebSocket kurulumu
  • • Session pairing (PIN)
  • • Command broadcast

✅ Mobile UI

  • • /remote-control sayfası
  • • QR code scanning
  • • Basic controls (Play/Next/Volume)

⏱️ Toplam Süre: Phase 1-3 (temel sistem) → 7-10 gün
Phase 4 eklenirse (remote control) → 11-15 gün