Ne Yapıyoruz?
Muzibu anasayfasını saate ve sektöre göre değişen bir sisteme çeviriyoruz.
Admin panelden "Koleksiyon" denen gruplar oluşturulacak. Her koleksiyonun içine Playlist, Albüm, Radyo, Genre veya Sektör eklenebilecek.
Örnek: "Sabah Kafe Mix" koleksiyonu → sadece 06:00-12:00 arası görünür, içinde Jazz FM radyosu + 2 tane playlist var.
Kullanıcı sayfayı açık bıraksa bile her saat başı içerik otomatik güncellenir, müzik kesilmez.
Tablo 1: muzibu_content_collections (Koleksiyonlar)
Her satır bir koleksiyon. Admin panelden oluşturulur.
| Kolon | Ne İşe Yarar | Örnek |
|---|---|---|
| collection_id | Otomatik numara (ID) | 1, 2, 3... |
| title | Koleksiyon adı (çoklu dil) | {"tr": "Sabah Kafe Mix"} |
| slug | URL'de kullanılan kısa isim | {"tr": "sabah-kafe-mix"} |
| description | Açıklama (opsiyonel) | {"tr": "Sabah saatleri için..."} |
| type | Koleksiyon türü (4 seçenek) | curated, daypart, sector, featured |
| icon | Başlığın yanındaki ikon | fas fa-coffee |
| color | Renk kodu | #f59e0b |
| media_id | Kapak görseli | 42 |
| display_rules | Hangi saatlerde görünsün? start_hour, end_hour, günler, her zaman mı? |
{"start_hour": 6, "end_hour": 12, "is_always": false} |
| sector_rules | Hangi sektörlere görünsün? herkese mi, sadece belirli sektörlere mi? |
{"show_to_all": false, "mode": "include", "sector_ids": [1,3]} |
| business_rules | Abonelik kuralı premium, free, corporate, hepsi |
{"subscription": "all"} |
| priority | Sıralama önceliği (büyük = üstte) | 100 |
| is_active | Açık/Kapalı | 1 |
| is_featured | Öne çıkan mı? | 0 |
| cache_ttl | Cache süresi (saniye) | 300 |
Tablo 2: muzibu_collection_items (Koleksiyon İçerikleri)
Her satır, bir koleksiyona eklenmiş bir öğe. Aynı koleksiyona Radyo + Playlist + Albüm karışık eklenebilir.
| Kolon | Ne İşe Yarar | Örnek |
|---|---|---|
| id | Otomatik numara | 1, 2, 3... |
| collection_id | Hangi koleksiyona ait | 1 (Sabah Kafe Mix) |
| itemable_type | Eklenen şeyin türü (5 seçenek) | playlist, album, radio, genre, sector |
| itemable_id | Eklenen şeyin ID'si | 12 (playlist_id=12) |
| position | Sıralama (sürükle-bırak) | 1, 2, 3... |
| is_active | Bu öğe aktif mi? | 1 |
Örnek: "Sabah Kafe Mix" koleksiyonunun içeriği
collection_id=1, itemable_type=radio, itemable_id=5 (Jazz FM), position=1
collection_id=1, itemable_type=playlist, itemable_id=12 (Sabah Akustik), position=2
collection_id=1, itemable_type=playlist, itemable_id=45 (Kahve Molası), position=3
collection_id=1, itemable_type=album, itemable_id=8 (Cafe Classics), position=4
Ek: users Tablosuna Eklenen Kolon
| Kolon | Ne İşe Yarar | Örnek |
|---|---|---|
| sector_id | Kullanıcının sektörü. Bu sayede "Kafe sahibi" ayrı, "Spor salonu sahibi" ayrı içerik görür. | 1 (Kafe & Restoran) |
Admin Panelde Ne Yapılacak?
1
Koleksiyon Oluştur
İsim ver, tip seç (curated/daypart/sector/featured), ikon ve renk seç.
2
Saat Ayarla
Başlangıç ve bitiş saati seç (dropdown: 00:00, 01:00 ... 23:00). Veya "Her zaman göster" seç.
3
Sektör Seç
Herkese göster veya sadece belirli sektörlere göster (Kafe, Spor Salonu, Otel...).
4
İçerik Ekle
Koleksiyona Playlist, Albüm, Radyo, Genre veya Sektör ekle. Sürükle-bırak ile sırala.
5
Öncelik Belirle
Hangi koleksiyon üstte görünsün? Büyük sayı = daha üstte.
Sitede Ne Olacak?
1
Kişisel Karşılama
Saate göre: "Günaydın, Ahmet!" + sektör adı: "Kafe & Restoran için seçilmiş içerikler"
2
Koleksiyonlar Listelenir
O saatte ve o sektöre uygun koleksiyonlar öncelik sırasına göre alt alta görünür. Her birinde yatay kaydırmalı kartlar.
3
Tıklama Davranışları
Radyo → hemen çalar (sayfa değişmez)
Playlist / Albüm → şarkı listesi sayfası açılır
Genre / Sektör → ilgili sayfa açılır
Playlist / Albüm → şarkı listesi sayfası açılır
Genre / Sektör → ilgili sayfa açılır
4
"Tümü" Butonu
Koleksiyonda 7+ öğe varsa "Tümü" butonu çıkar → tıklanınca grid sayfa açılır. 6 ve altıysa buton gizli.
5
Her Saat Başı Otomatik Güncelleme
Kullanıcı sayfayı yenilemese bile her saat başı içerik sessizce değişir. Müzik kesilmez. Sayfa yenilenmez. Sadece koleksiyon alanı güncellenir.
Teknik detaylar, kod örnekleri ve tüm kararlar için:
Tam Dokümantasyon (v10)