Tenant 1001 AI

Akilli Muzik Asistani - Master Plan

Tenant 1001 icin ozel tasarlanmis, sarki onerisi, playlist yonetimi, subscription kontrolu ve tikla-cal action button sistemi ile donatilmis yapay zeka asistani

Tarih
16.12.2025
Tenant
1001
Versiyon
v6.0 (Master)
Durum
Planlandi

TenantServiceFactory Pattern

Neden Factory Pattern?

  • Yeni Controller GEREKMEZ! Mevcut assistantChat() Factory ile tenant'a ozel service'i otomatik yukler.
  • Yeni Route GEREKMEZ! Mevcut /api/ai/v1/assistant/chat endpoint'i kullanilir.
  • Otomatik Kesfedilir! Tenant{ID}PromptService dosyasi olusturulunca Factory otomatik tanir.

Factory Calisma Mantigi

// Mevcut Factory kodu:
TenantServiceFactory::getPromptService(1001)
// Auto-discovery
Tenant1001PromptService::class
// Dosya yoksa:
DefaultPromptService::class

Olusturulacak Dosyalar (3 adet)

  • Tenant1001PromptService.php
  • Tenant1001MusicSearchService.php
  • Tenant1001SubscriptionHelper.php
Konum: Modules/AI/app/Services/Tenant/

Sistem Mimarisi

Shop AI'dan Miras Alinan Yapi

Backend Katmanlari

  • Factory Pattern: TenantServiceFactory auto-discovery
  • Prompt Service: Tenant1001PromptService
  • Search Service: Tenant1001MusicSearchService
  • Conversation: AIConversation (feature_slug: 'tenant1001-assistant')

Frontend Katmanlari

  • Alpine Store: Alpine.store('tenant1001AI')
  • Widget: Player entegreli floating widget
  • Action Buttons: Tikla-cal, favoriye ekle
  • Markdown: marked.js + Tailwind renderer

Multi-Provider Fallback Chain

GPT-5-mini
Primary
GPT-4o-mini
Fallback 1
Claude Haiku
Fallback 2
DeepSeek
Fallback 3

Temel Ozellikler (4 Adet)

1 Akilli Muzik Onerileri

AI, tenant 1001 veritabanindaki sarki, album, artist, playlist, tur ve sektor verilerini kullanarak kullaniciya ozel oneriler sunar. Context-aware: hangi sayfada olduguna gore farkli oneriler.

Sarki Onerileri
  • Benzer sarkilar (ayni tur)
  • Ayni artist'in diger sarkilari
  • Populer sarkilar
Album & Artist
  • Artist'in tum albumleri
  • Benzer artist'ler
  • Yeni cikan albumler
Playlist & Radyo
  • Tematik playlist'ler
  • Sektore ozel playlist'ler
  • Radyo istasyonlari

2 Action Button System (Tikla-Cal)

AI Yaniti:
"Size Tarkan - Kuzu Kuzu sarkisini oneririm!"

Desteklenen Action Turleri

play_song
play_album
play_playlist
play_radio
add_favorite
add_to_playlist
share
navigate

3 Subscription & Premium Yonetimi

Guest (Uye Olmayan)
"Uye olun, {trial_days} gun ucretsiz deneyin!"
Trial Kullanici
"{days_remaining} gun kaldi, Premium'a gecin!"
Premium Kullanici
"{days_remaining} gun kaldi, {device_count}/{device_limit} cihaz"

Dinamik Degerler (DB'den)

trial_days
SubscriptionPlan->trial_days
Plan Fiyatlari
billing_cycles->price
device_limit
SubscriptionPlan->device_limit

4 Akilli Sohbet Yetenekleri

AI'nin Yanit Verebilecegi Sorular

  • "Bana rock sarkilari oner"
  • "Romantik playlist var mi?"
  • "Tarkan'in albumleri?"
  • "Cafe icin radyo?"
  • "Premium avantajlari?"
  • "Uyelik ne zaman bitiyor?"

Mood Bazli Oneriler

:) Mutlu Pop, Dance, Party
:( Huzunlu Slow, Akustik
:D Enerjik Rock, EDM

AI Workflow Sistemi

Sistem Zaten Tenant-Aware!
Flows, Nodes, Directives, Knowledge Base - hepsi tenant_id ile ayristirilmis. Kod degisikligi gerekmez!

Central DB (tuufi_4ekim)

  • ai_workflow_nodes (Global nodes)
  • ai_tenant_directives (tenant_id ile)

Tenant DB (tenant_muzibu_1528d0)

  • tenant_conversation_flows
  • tenant_knowledge_base

Flows (Akislar)

HAZIR
  • Tenant DB: tenant_conversation_flows
  • tenant_id ile filtrelenmis
  • Her tenant kendi flow'larini olusturur

Nodes (Dugumler)

HAZIR
  • Global: Central DB (ai_workflow_nodes)
  • is_global + tenant_whitelist filtreleme
  • Tenant-specific node olusturulabilir

Directives (Direktifler)

ICERIK GEREK
  • Central DB: ai_tenant_directives
  • copyFromTenant(2, 1001) kullan
Ozellestirilecek kategoriler:
ai_config behavior pricing contact

Knowledge Base

ICERIK GEREK
  • Tenant DB: tenant_knowledge_base
  • Soru/cevap ciftleri ekle
Onerilen kategoriler:
Abonelik Cihaz Limiti Playlist Odeme

Directive Kopyalama Komutu (Tinker)

// ixtif'ten muzibu'ya directive kopyala:
AITenantDirective::copyFromTenant(2, 1001);
Kopyaladiktan sonra muzik platformuna uygun sekilde ozellestir (ai_config, behavior, pricing, contact)

Ek Ozellikler (6 Adet)

AI Playlist

Kullanici istegine gore otomatik playlist olusturma

Dinleme Gecmisi

SongPlay tablosundan kisisellestirilmis oneriler

Kurumsal Hesap

MuzibuCorporateAccount entegrasyonu

Infinite Queue

QueueRefillController entegrasyonu

Sosyal Paylasim

WhatsApp, Twitter, Facebook paylasim

Device Management

DeviceService ile cihaz yonetimi

Dosya Haritasi

Modules/AI/app/Services/Tenant/
Tenant1001PromptService.php YENI
Tenant1001MusicSearchService.php YENI
Tenant1001SubscriptionHelper.php YENI
Frontend (Opsiyonel)
public/themes/muzibu/js/ai/tenant1001-ai-chat.js OPSIYONEL
resources/views/themes/muzibu/components/ai-chat-widget.blade.php OPSIYONEL
3
Yeni Backend
0
Controller/Route
2
Icerik Gorevi
2
Opsiyonel (FE)

Ilerleme Takibi (TODO)

Genel Ilerleme
0 / 25 Gorev

Tenant1001PromptService.php (6 Gorev)

TenantPromptServiceInterface implement et
buildPrompt() - Muzik asistani system prompt
getSpecialRules() - Muzik odakli kurallar
getSector() - return 'music'
getNoProductMessage() - Icerik bulunamadi mesaji
getContactInfo() - Settings'ten iletisim bilgileri

Tenant1001SubscriptionHelper.php (5 Gorev)

Helper class olustur
getUserStatus($user) - Guest/Trial/Premium durumu
getPlansWithPrices() - Tum planlar DB'den
getDeviceInfo($user) - Cihaz sayisi ve limit
getDaysRemaining() - Kalan gun hesaplama

Tenant1001MusicSearchService.php (7 Gorev)

Service class olustur
searchSongs($query) - Sarki arama
searchAlbums($query) - Album arama
searchPlaylists($query) - Playlist arama
searchByGenre($genre_id) - Ture gore icerik
searchBySector($sector_id) - Sektore gore playlist
getPopularContent() - Populer icerikler

AI Workflow Icerigi (4 Gorev)

Directives kopyala: copyFromTenant(2, 1001)
Muzik directive'lerini ozellestir (ai_config, behavior, pricing)
Knowledge Base kategorileri ekle (Abonelik, Cihaz, Playlist, Odeme)
SSS icerikleri olustur

Test & Entegrasyon (3 Gorev)

API Test: /api/ai/v1/assistant/chat (tenant 1001'de)
Guest/Trial/Premium senaryolari test et
Action button'lari test et (play, favorite, playlist)

Frontend (Opsiyonel) (0 Gorev - Sonra)

tenant1001-ai-chat.js olustur
ai-chat-widget.blade.php olustur
app.blade.php'ye widget include

Ozet

3
Backend Dosya
Services/Tenant/
0
Controller/Route
Factory auto-discovery
2
Icerik Gorevi
Directives + KB
25
Toplam TODO
Takip edilecek
3
Opsiyonel
Frontend (sonra)

Dosya Isimlendirme (Tenant1001 Konvansiyonu)

  • Tenant1001PromptService.php
  • Tenant1001MusicSearchService.php
  • Tenant1001SubscriptionHelper.php
  • feature_slug: 'tenant1001-assistant'
  • Alpine.store('tenant1001AI')
  • API: /api/ai/v1/assistant/chat