Tüm Sayfalar / 53 - Çalma Listelerim
Sayfa 53 / 100
Sayfa #53 - Çalma Listelerim

Çalma Listelerim

Biz Ne Yaptık?

Kullanıcıların oluşturduğu tüm çalma listelerini gösteren yönetim sayfası tasarladık. Yeni liste oluşturma, düzenleme, silme ve paylaşma tek ekrandan yapılabiliyor.

Oluşturma

  • Yeni playlist oluştur butonu
  • İsim ve açıklama girişi
  • Kapak görseli yükleme
  • Gizlilik ayarı (Public/Private)

Yönetim

  • Sürükle-bırak sıralama
  • Şarkı ekleme/çıkarma
  • Paylaşım linki oluşturma
  • Playlist silme

Arkada Ne Oluyor?

1

Playlistler Yüklenir

playlists tablosundan kullanıcının listeleri çekilir

2

Şarkı Sayıları Hesaplanır

Her playlist için toplam şarkı ve süre hesaplanır

3

Mozaik Kapaklar Oluşturulur

İlk 4 şarkının kapaklarından otomatik mozaik yapılır

4

Sıralama Kaydedilir

Sürükle-bırak ile değişen sıra anında veritabanına yazılır

Admin Panelden Ne Görebilirsiniz?

4,892
Toplam Playlist
3,124
Public Liste
18.7
Ort. Şarkı/Liste

Arkaplanda Neler Çalışıyor?

Çalma listelerim sayfası açıldığında, sistem tüm playlistlerinizi yükler, şarkı sayılarını hesaplar ve kapak görsellerini oluşturur. İşte perde arkasındaki işlemler:

1. Playlist Listesi Yükleme

Playlist::where('user_id', auth()->id()) sorgusu ile kullanıcının tüm çalma listeleri çekilir. withCount('songs') ile her liste için şarkı sayısı tek sorguda alınır.

2. Pivot Tablo İlişkisi

playlist_song pivot tablosu playlist-şarkı ilişkisini tutar. Her kayıtta position alanı sıralama için, added_at eklenme tarihi için kullanılır.

3. Mozaik Kapak Oluşturma

Özel kapak yüklenmemişse, MosaicService ilk 4 şarkının albüm kapaklarını 2x2 grid şeklinde birleştirir. Sonuç ImageMagick ile işlenip önbelleğe alınır.

4. Süre Hesaplama

Her playlist için toplam süre, ilişkili şarkıların duration alanları toplanarak hesaplanır: $playlist->songs->sum('duration'). Sonuç "2 saat 18 dk" formatında gösterilir.

5. Sürükle-Bırak Sıralama

SortableJS kütüphanesi ile sürükle-bırak aktif. Sıra değiştiğinde AJAX isteği ile updateOrder() endpoint'i çağrılır ve yeni pozisyonlar veritabanına yazılır.

6. Görünürlük Yönetimi

Her playlist için visibility alanı: public (herkes görebilir), private (sadece sen), unlisted (link ile erişim). Değişiklik anında kaydedilir.

Bu Sayfanın Anahtar Terimleri

Playlist Model

Çalma listesi verilerini tutan yapı

Pivot Table

Playlist-Şarkı ilişkisini tutan ara tablo

Drag & Drop

Sürükle-bırak ile sıralama

Visibility

Public, Private, Unlisted seçenekleri

ÇALIYOR
Şarkı 1
Çalıyor
2
Şarkı 2
Sırada
3
Şarkı 3
Sırada
4
Şarkı 4
Sırada
+38 şarkı daha
42
Şarkı
2:18
Süre
12
Liste