Sayfa 13 / 161
Sonraki
Çalma Listesi Modülü

Playlist Modülü

Kullanıcıların kendi çalma listelerini oluşturması, şarkı eklemesi ve paylaşması.

2
Model
Playlist, PlaylistSong
3
Playlist Tipi
user, editorial, ai
3
Gizlilik
public, private, unlisted
Sıralama
Drag & Drop

Playlist Modeli

Temel Alanlar
title // Playlist adı
slug // URL slug
description // Açıklama
user_id // Oluşturan kullanıcı
type // user, editorial, ai
visibility // public, private, unlisted
song_count // Şarkı sayısı (cache)
total_duration // Toplam süre (cache)
play_count // Dinlenme sayısı
İlişkiler
belongsTo User (oluşturan)
belongsToMany Song (pivot: playlist_songs)
hasMany PlaylistSong (sıralı şarkılar)
morphMany Favorite (favori eklenebilir)

Playlist Tipleri

user
Kullanıcı tarafından oluşturulan kişisel playlist. Düzenlenebilir, silinebilir.
editorial
Editör/Admin tarafından oluşturulan öne çıkan playlist. Tüm kullanıcılara görünür.
ai
Yapay zeka tarafından önerilen playlist. Dinleme geçmişine göre otomatik güncellenir.

Gizlilik Seviyeleri (Visibility)

public
Herkes görebilir, arama sonuçlarında çıkar
unlisted
Linki bilen görebilir, aramada çıkmaz
private
Sadece sahibi görebilir

PlaylistSong Pivot Tablosu

Playlist ve Song arasındaki ilişkiyi tutan ara tablo. Sıralama ve eklenme tarihi bilgilerini saklar.

playlist_id
song_id
sort_order
added_at
5
123
1
2026-02-10
5
456
2
2026-02-10
5
789
3
2026-02-10
Drag & Drop Sıralama

Kullanıcı şarkıları sürükleyip bırakarak sıralayabilir. sort_order değerleri otomatik güncellenir.

Arkaplanda Neler Çalışıyor?

Siz bir playlist oluşturup şarkı eklediğinizde sistem şu işlemleri otomatik yapar:

1. Playlist Kaydı Oluşturma

Playlist başlığı, açıklaması ve gizlilik ayarlarıyla birlikte playlists tablosuna kayıt oluşturulur. Slug otomatik üretilir (örn: "Favorilerim" → "favorilerim").

2. Pivot Tablo Kaydı

Her şarkı eklendiğinde playlist_songs pivot tablosuna kayıt oluşturulur. Bu kayıt playlist_id, song_id ve sıra numarasını (sort_order) tutar.

3. Görünürlük Kontrolü (Visibility)

Playlist'e erişim sağlandığında visibility değeri kontrol edilir. "private" ise sadece sahip görebilir, "unlisted" ise linki bilen, "public" ise herkes erişebilir.

4. Drag & Drop Sıralama

Şarkılar sürüklenip bırakıldığında JavaScript tüm şarkıların yeni sıralarını toplar ve tek bir AJAX isteğiyle sunucuya gönderir. Sunucu sort_order değerlerini toplu günceller.

5. İstatistik Cache Güncelleme

Şarkı eklenip çıkarıldığında song_count ve total_duration alanları otomatik güncellenir. Bu sayede her seferinde hesaplama yapılmaz, hazır veri gösterilir.

6. Çalma Sayacı

Playlist oynatıldığında play_count değeri artırılır. Bu sayede "En Çok Dinlenenler" listesi oluşturulabilir. Redis ile anlık güncellenir, periyodik olarak veritabanına yazılır.

Bu Sayfanın Anahtar Terimleri

Playlist
Şarkıları gruplandıran çalma listesi.
Pivot Table
Çoktan çoğa ilişki için ara tablo (playlist_songs).
Visibility
Playlist'in kimler tarafından görülebileceği.
Editorial
Editör tarafından hazırlanan öne çıkan içerik.
10 Şubat 2026 • Tuufi.com / Türk Bilişim
PLAYLIST
Çalma Listesi Modülü
Chill Vibes
Party Mix
Favorilerim
24 Şarkı
1
Yıldızların Altında
Sanatçı A
3:24
2
Rüzgar Gibi
Sanatçı B
4:12
3
Gece Yarısı
Sanatçı C
2:58
user
Kişisel
editorial
Editör
ai
Önerilen