Müzik türleri (Genre) ve kurumsal sektör kategorileri.
Tür (Genre): Şarkıları müzik stiline göre gruplar. Pop, Rock, Jazz gibi. Sektör: Kurumsal müşteriler için mekan türlerini tanımlar. Cafe, Restaurant, Gym gibi.
Bir cafe sahibi "Cafe müziği" istediğinde, o sektöre uygun şarkılar otomatik önerilir. Rock Bar'a caz müziği gönderilmez.
Sistemde tanımlı müzik türleri:
Kurumsal müşteriler için mekan kategorileri:
Kahve dükkanları, pastaneler. Sakin, akustik müzikler.
Restoranlar. Yemek atmosferine uygun müzikler.
Spor salonları. Enerjik, motivasyon artıran müzikler.
Mağazalar, AVM'ler. Alışveriş deneyimini artıran müzikler.
SPA, masaj salonları. Rahatlatıcı, ambient müzikler.
Oteller, lobiler. Sofistike, uluslararası müzikler.
Kullanıcı bir türe veya sektöre tıkladığında sistem şu adımları izler:
URL'deki "pop" veya "cafe" slug'ı ile veritabanından ilgili kayıt bulunur. Genre::where('slug', $slug)->firstOrFail() sorgusu çalışır. Bulunamazsa 404 sayfası gösterilir.
Türe bağlı şarkılar song_genres pivot tablosu üzerinden çekilir. Eager loading ile sanatçı ve albüm bilgileri tek sorguda alınır. Sayfalama uygulanır (20 şarkı/sayfa). Popülerlik veya tarih sıralaması yapılır.
Kurumsal müşteri sektörü seçtiğinde, o sektöre uygun türler otomatik önerilir. Örnek: "Cafe" sektörü → Jazz, Acoustic, Lounge türleri. sector_genres ara tablosu bu eşleştirmeyi tutar. Admin panelden ayarlanabilir.
Her tür için tanımlı renk (#EF4444 gibi) ve ikon (fas fa-guitar) veritabanından okunur. Kartlar, butonlar ve başlıklar bu renkte gösterilir. Görsel tutarlılık sağlanır.
Tür sayfası önce Redis'te aranır (genre:pop:songs). Varsa direkt döndürülür (1ms). Yoksa veritabanı sorgusu yapılır ve sonuç 1 saat süreyle cache'e yazılır. Yeni şarkı eklendiğinde cache temizlenir.
Her türün şarkı sayısı, toplam dinlenme sayısı, en popüler sanatçısı gibi istatistikler hesaplanır. Bu bilgiler tür kartlarında gösterilir. Ağır hesaplamalar gece cron job ile yapılır.