Dinamik İçerik Sistemi — Basit Özet

Ne yapıyoruz, tablolarda ne var, adminde ne yapılıyor, sitede ne görünüyor.

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.

KolonNe İşe YararÖrnek
collection_idOtomatik numara (ID)1, 2, 3...
titleKoleksiyon adı (çoklu dil){"tr": "Sabah Kafe Mix"}
slugURL'de kullanılan kısa isim{"tr": "sabah-kafe-mix"}
descriptionAçıklama (opsiyonel){"tr": "Sabah saatleri için..."}
typeKoleksiyon türü (4 seçenek)curated, daypart, sector, featured
iconBaşlığın yanındaki ikonfas fa-coffee
colorRenk kodu#f59e0b
media_idKapak görseli42
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"}
prioritySıralama önceliği (büyük = üstte)100
is_activeAçık/Kapalı1
is_featuredÖne çıkan mı?0
cache_ttlCache 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.

KolonNe İşe YararÖrnek
idOtomatik numara1, 2, 3...
collection_idHangi koleksiyona ait1 (Sabah Kafe Mix)
itemable_typeEklenen şeyin türü (5 seçenek)playlist, album, radio, genre, sector
itemable_idEklenen şeyin ID'si12 (playlist_id=12)
positionSıralama (sürükle-bırak)1, 2, 3...
is_activeBu öğ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

KolonNe İşe YararÖrnek
sector_idKullanı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
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)