Versiyon Geçmişi & Kesinleşen Kararlar
v1 — İlk Tasarım
Spotify + Apple Music + Soundtrack analizi. Bireysel + B2B karışık.
v2 — B2B Odak
Bireysel kullanıcı kaldırıldı. Soundtrack Your Brand modeline geçildi. Dayparting birincil özellik oldu.
v3 — Simülasyon
Veri akış haritası: Mevcut → Yeni → Birleşim → Sonuç. Cafe vs Gym karşılaştırması.
v4 — Kesinleşmiş Tasarım (bu sayfa)
5 polymorphic tip onaylandı. Tüm kararlar birleştirildi. Uygulamaya hazır.
Kesinleşen Kararlar
- B2B only — Bireysel kullanıcı yok, her kullanıcı işletme sahibi
- 5 polymorphic tip — Playlist, Album, Radio, Genre, Sector
- 2 yeni tablo — content_collections + collection_items
- Dayparting — 6 zaman dilimi, sektör bazlı
- Koleksiyon tipleri — curated, daypart, sector, featured
- Song ve Artist — Şimdilik yok, sonradan 1 satırla eklenir
Katman 1 — Veri Kaynakları
Sistemin hammaddesi. Mavi = zaten var, Sarı = yeni yapılacak.
Sektörler
muzibu_sectors — Cafe, Restoran, Gym, SPA, Otel, Mağaza.
- Model + Service + Admin + Frontend
- Playlist dağıtımı (playlistables)
İçerikler
Koleksiyonların içine konacak 5 tip malzeme. Hepsi mevcut ve çalışıyor:
Kullanıcı (İşletme Sahibi)
-
name,email,subscription_type -
primary_sector_id— eklenecek
Koleksiyonlar + 5 Polymorphic Tip
Her koleksiyonun içine 5 farklı tipte içerik koyabilirsin. Aynı koleksiyonda playlist yanında genre kartı, sector kartı da olabilir.
5 Polymorphic Tip
Playlist
Çalma listesi kartı. "Bossa Nova Cafe", "Beast Mode" gibi. Tıklanınca playlist açılır.
muzibu_playlists → playlist_id
Album
Albüm kartı. "Yeni Çıkan Albümler" koleksiyonunda. Tıklanınca albüm sayfası açılır.
muzibu_albums → album_id
Radio
Radyo istasyonu kartı. "Cafe Jazz FM", "Workout Radio". Tıklanınca radyo açılır.
muzibu_radios → radio_id
Genre (Tür)
Tür kartı. "Jazz", "Rock", "Bossa Nova". Tıklanınca o türün sayfası açılır, içindeki tüm playlistler görünür.
muzibu_genres → genre_id
Sector (Sektör)
Çapraz sektör keşfi. Cafe sahibine "SPA müziklerini de deneyin" gibi. Tıklanınca sektör sayfası açılır.
muzibu_sectors → sector_id
Örnek: Aynı koleksiyonda karışık tipler
Kurallar: Sadece Cafe sektörü, 7/24
Tek koleksiyonda 5 farklı tip: playlist + genre + album + radio + sector kartı yan yana.
Kurallar: Cafe sektörü, Hafta içi 09:00-11:30
Sadece playlist de koyabilirsin. Karma zorunlu değil.
Kurallar: Tüm sektörler, 7/24 — çapraz keşif
Sadece sektör kartları. Cafe sahibi bunu görür → SPA'ya tıklar → SPA playlistlerini keşfeder.
Katman 2 — SmartFeedService
"Saat kaç, sektör ne, abonelik ne?" → filtrele → sırala → feed çıkart
3 Girdi → 3 Filtre → Sıralı Feed
Filtreleme
Saat → 40'tan 22 kaldı
09:45 → "Gece Müzikleri" (21-06) ve "Akşam" (17-21) düştü
Sektör → 22'den 8 kaldı
Cafe → "Gym Beast Mode", "SPA Meditasyon" düştü
Abonelik → 8 kaldı
Premium hepsini görür. Trial olsaydı 6 olurdu.
Sıralama
Katman 3 — Sonuç Ekranı
Mehmet (Cafe, Pzt 09:45) — artık karma içerik tipli:
Günaydın, Mehmet
Pazartesi • Cafe • Kahve Saati
Bahar Koleksiyonu Yayında!
Cafe'niz için 8 yeni playlist
Kahve Saati 09 - 11:30
Cafe'nize Özel Keşifler
Sırada: Öğle Pik 11:30'da
Başka Sektörleri Keşfedin
Bu Haftanın Yenileri
Ayşe (Gym, Pzt 09:45) — tamamen farklı feed:
Günaydın, Ayşe
Pazartesi • Gym • Sabah
Sabah Antrenmanı
Gym İçin Seçtiklerimiz
Başka Sektörleri Keşfedin
Tek Bakışta Özet
Mevcut (dokunulmayacak)
Sektörler, Playlistler, Albümler, Radyolar, Genre'ler, Kullanıcılar — olduğu gibi kalıyor.
Yeni (yapılacak)
2 tablo, 1 servis, admin panel, frontend güncellemesi. Polymorphic 5 tip: Playlist, Album, Radio, Genre, Sector.
Birleşim
SmartFeedService: kullanıcı + zaman + koleksiyonlar → 3 filtre → sıralı feed.
Kesinleşen
B2B only, 5 tip (Playlist + Album + Radio + Genre + Sector), Dayparting 6 dilim, 4 faz uygulama.
Uygulamaya Hazır
Tüm kararlar kesinleşti. Faz 1'den başlayabiliriz: migration dosyaları + modeller.