Her kullanıcı için kişiselleştirilmiş profil sayfası oluşturduk.
Avatar, isim, dinleme istatistikleri ve public playlistler
tek sayfada görüntüleniyor.
Kullanıcının paylaşıma açık playlistleri gösterilir
4
Gizlilik Kontrolü Yapılır
Profil public mi? Sadece takipçilere mi açık?
Admin Panelden Ne Görebilirsiniz?
2,847
Kayıtlı Kullanıcı
1,456
Profil Ziyareti/Gün
89%
Avatar Yükleme Oranı
Arkaplanda Neler Çalışıyor?
Profil sayfasına girdiğinizde, sistem kullanıcı verilerini toplar, istatistikleri hesaplar ve
sosyal bağlantıları analiz eder. İşte perde arkasında gerçekleşen teknik süreçler:
1. Kullanıcı Verisi Yükleme
URL'deki kullanıcı adı (@username) alınır ve User::findByUsername() ile veritabanından kullanıcı kaydı çekilir. Avatar, biyografi ve üyelik tarihi gibi temel bilgiler yüklenir.
2. İstatistik Hesaplama
listening_history tablosundan toplam dinleme süresi, en çok dinlenen sanatçılar ve tür dağılımı hesaplanır. Bu veriler UserStatsService ile işlenir ve önbelleğe alınır.
3. Public İçerik Filtreleme
Kullanıcının playlistleri visibility = 'public' filtresi ile çekilir. Sadece herkese açık listeler gösterilir. Her playlist için şarkı sayısı ve toplam süre de hesaplanır.
4. Gizlilik Kontrolü
Profil görünürlüğü kontrol edilir: privacy_mode ayarına göre profil herkese açık mı, sadece takipçilere mi? Ziyaretçi-profil sahibi ilişkisi follows tablosundan doğrulanır.
5. Rozet ve Seviye Sistemi
user_badges tablosundan kazanılan rozetler, user_xp tablosundan deneyim puanı ve seviye bilgisi çekilir. Premium üyelik varsa özel rozet ve taç gösterilir.
6. Sosyal Graf Yükleme
Takipçi ve takip edilen sayıları follows tablosundan COUNT() sorgusu ile hesaplanır. "Takip Et" butonu için mevcut takip durumu da kontrol edilir.