Kullanıcıların ilk gördüğü ve en çok ziyaret ettiği sayfa
Kullanıcının siteye girdiğinde gördüğü ilk sayfa olan ana sayfayı tasarladık. Trend şarkılar, yeni eklenenler, önerilen playlistler ve daha fazlası burada sergileniyor.
Siteyi açtığında zengin içerik bölümleri karşılar
Trend şarkılar, yeni albümler hemen dikkat çeker
İlgi alanlarına göre kişisel öneriler görür
Dikkat çekici kampanya ve duyurular
En çok dinlenen içerikler
Son eklenen şarkılar ve albümler
Kişiselleştirilmiş playlist önerileri
Kullanıcı ana sayfayı açtığında, sistem saniyeler içinde birçok işlemi eş zamanlı olarak gerçekleştirir:
Tarayıcı muzibu.com adresine istek gönderir. Laravel'in Route sistemi bu isteği yakalar ve HomeController'a yönlendirir. Controller, hangi verilerin yüklenmesi gerektiğine karar verir.
Banner::where('is_active', true)->orderBy('order')->get() sorgusu çalışır. Aktif bannerlar sırasına göre çekilir, Swiper.js ile slider olarak gösterilir.
Son 7 günün dinlenme verileri play_logs tablosundan çekilir. GROUP BY song_id ile şarkı başına toplam dinlenme hesaplanır, en yüksek 10 şarkı "Trend" olarak listelenir.
Song::orderBy('created_at', 'desc')->limit(12)->get() sorgusu son eklenen şarkıları getirir. with(['artist', 'album']) ile ilişkili sanatçı ve albüm verileri tek sorguda yüklenir (Eager Loading).
Giriş yapmış kullanıcı için RecommendationService devreye girer. Kullanıcının dinleme geçmişi, beğenileri ve favori türleri analiz edilerek benzer içerikler önerilir.
Tüm bu veriler Cache::remember('homepage_data', 300, ...) ile 5 dakika boyunca önbellekte tutulur. Sonraki ziyaretçiler veritabanına gitmeden önbellekten anında veri alır.
Dinamik içerik bölümleri