🏗️ Shop Products - Evrensel vs Sektörel Kolonlar

🎯 Hedef: Minimum kolon, maksimum esneklik | 📅 2025-12-04

⚠️ ÖNEMLİ: BU SADECE PLAN!

Bu dokümanda hiçbir şey silinmedi, sadece strateji önerisi var.
Kararı sen vereceksin, uygulama yapılmayacak!

📊 Mevcut Durum: 67 Kolon Analizi

İxtif'te şu anda 67 kolon var. Bunların sadece bir kısmı evrensel (her sektör kullanır), çoğu sektöre özel veya hiç kullanılmıyor.

✅ Evrensel Kolonlar (18 adet)

Her sektörde kullanılır, KALMALI

  • product_id KALSIN
  • title, slug KALSIN
  • short_description, body KALSIN
  • category_id, brand_id KALSIN
  • product_type, condition KALSIN
  • base_price, currency_id KALSIN
  • tax_rate, compare_at_price KALSIN
  • stock_tracking, current_stock KALSIN
  • is_active, is_featured KALSIN
  • published_at, sort_order KALSIN
  • created_at, updated_at KALSIN

🟡 Sektörel Kolonlar (9 adet)

Sadece belirli sektörlerde kullanılır

  • certifications TAŞIN/SİL
  • accessories TAŞIN/SİL
  • target_industries TAŞIN/SİL
  • competitive_advantages TAŞIN/SİL
  • highlighted_features TAŞIN/SİL
  • use_cases TAŞIN/SİL
  • primary_specs TAŞIN/SİL
  • features TAŞIN/SİL
  • faq_data TAŞIN/SİL

⚪ Tercihsel Kolonlar (10+ adet)

Bazı ürünlerde olabilir

  • sku, barcode KALSIN
  • weight, dimensions KALSIN
  • video_url, manual_pdf_url KALSIN
  • warranty_info, shipping_info KALSIN
  • badges, tags KALSIN
  • custom_json_fields KALSIN

🎯 3 Farklı Strateji Seçeneği

🟡 Seçenek A: Sektörel İçerik Body'de (HTML)

Sertifikalar, aksesuarlar, FAQ gibi sektörel içerikler body kolonunda HTML olarak tutulur.

Nasıl Olur:
  • • certifications, accessories, FAQ → body içinde HTML section'lar olarak
  • • Admin panelde: WYSIWYG editör (TinyMCE, CKEditor)
  • • Her sektör istediği section'ı ekler (İxtif: sertifika, Muzibu: şarkı sözü)

✅ Artılar

  • En basit yapı
  • Kolon sayısı minimum (67 → ~25)
  • WYSIWYG editör kolay
  • Zengin HTML formatlar

❌ Eksiler

  • Sorgulanamaz (FAQ arama yok)
  • Yapısal veri çekilemez
  • API için JSON export zor
  • Filtreleme yapılamaz
Admin Panel Nasıl Olur:

Tek bir büyük HTML editör. Kullanıcı istediği HTML'i yazar. Şablon seçenekleri olabilir (İxtif için sertifika şablonu, Muzibu için şarkı sözü şablonu).

🟣 Seçenek B: Sektörel İçerik custom_json_fields'te

Sektörel alanlar custom_json_fields kolonunda JSON olarak tutulur. Body sadece genel açıklama için kullanılır.

Nasıl Olur:
  • • certifications, accessories, FAQ → custom_json_fields içinde ayrı key'ler
  • • Admin panelde: Dinamik form builder (her sektör kendi field'larını ekler)
  • • JSON yapısal olduğu için sorgulanabilir

✅ Artılar

  • Yapısal veri (sorgulanabilir)
  • API dostu (JSON export)
  • Filtreleme yapılabilir
  • Her tenant kendi field'ını ekler

❌ Eksiler

  • JSON query karmaşık
  • Admin panelde dinamik form gerekli
  • Frontend parse gerekli
  • WYSIWYG yok (JSON input)
Admin Panel Nasıl Olur:

Dinamik form builder. Kullanıcı "Yeni Alan Ekle" der, alan adı ve tipi seçer (text, array, object). Frontend otomatik input oluşturur. Örnek: İxtif "certifications" field'ı ekler, Muzibu "lyrics" ekler.

🟢 Seçenek C: Hibrit Yaklaşım (ÖNERİLEN)

Body → Zengin HTML içerik (kullanım kılavuzu, montaj talimatları)
custom_json_fields → Yapısal metadata (certifications, accessories, FAQ)

Nasıl Olur:
  • Body: Ürün açıklaması, kullanım alanları, güvenlik uyarıları (HTML)
  • custom_json_fields: Sertifikalar, aksesuarlar, FAQ (JSON array)
  • • Admin panelde: İki sekme (HTML Editör + Dynamic Fields)

✅ Artılar

  • En iyi ikisinin karışımı
  • Zengin içerik + Yapısal veri
  • Sorgulanabilir metadata
  • WYSIWYG + JSON beraber

❌ Eksiler

  • İki sistem yönetmek gerekir
  • Kullanıcı karışabilir (nereye ne yazacak?)
  • Biraz daha karmaşık
Admin Panel Nasıl Olur:

İki sekme sistem:
Sekme 1 - İçerik: WYSIWYG editör (body için HTML)
Sekme 2 - Metadata: Dinamik fields (FAQ, sertifika, aksesuar ekle butonu)

⚖️ Strateji Karşılaştırması

Özellik Seçenek A (Body) Seçenek B (Custom JSON) Seçenek C (Hibrit)
Kolon Sayısı ~25 (minimum) ~25 (minimum) ~25 (minimum)
Sorgulanabilir mi? ❌ Hayır ✅ Evet ⚠️ Kısmen (metadata)
WYSIWYG Editör ✅ Evet ❌ Hayır ✅ Evet
API Dostu ❌ HTML parse ✅ Direkt JSON ⚠️ İkisi de
Esneklik ✅ Sınırsız ✅ Sınırsız ✅ Sınırsız
Kullanım Kolaylığı ✅ Çok kolay ⚠️ Orta ⚠️ Orta
Geliştirme Süresi ✅ Kısa ⚠️ Uzun (form builder) ⚠️ Uzun

💡 Önerim: Seçenek C (Hibrit)

✅ Neden Hibrit?

1. Body: Zengin içerik için mükemmel (kullanım kılavuzu, montaj, güvenlik)
2. custom_json_fields: Yapısal metadata için ideal (FAQ, sertifika, aksesuar)
3. Her iki dünyanın da avantajlarını kullanabilirsin
4. İleride genişletmesi kolay

Admin Panel Tasarımı (Hibrit):

📝 İçerik (Body)
🏷️ Metadata (Custom Fields)

Ürün Açıklaması (HTML Editör):

[B] [I] [U] | Başlık | Liste | Link | Resim

Kullanıcı buraya HTML yazıyor...
Montaj talimatları, güvenlik uyarıları vb.
📝 İçerik (Body)
🏷️ Metadata (Custom Fields)

Sektöre Özel Alanlar:

FAQ (Sıkça Sorulan Sorular)
• Dönüş yarıçapı nedir? → 1680 mm...
• Li-Ion avantajları? → Fırsat şarjı...
Sertifikalar
• CE (2024) - EU
• ISO 9001 (2023) - TÜV

🎯 Sonuç ve Karar

Hangi Kolonlar Silinecek?

9 sektörel kolon kaldırılacak:
• certifications, accessories, target_industries, competitive_advantages, highlighted_features, use_cases, primary_specs, features, faq_data

✅ Bu kolonların verileri kaybolmayacak, body veya custom_json_fields'e taşınacak!

Nihai Kolon Sayısı

67 kolon~25 kolon
(%63 azalma! Database çok daha temiz)

⚠️ Sonraki Adım

Hangi stratejiyi seçiyorsun?
Seçenek A: Body'de HTML (en basit)
Seçenek B: custom_json_fields (yapısal)
Seçenek C: Hibrit (önerilen)

Kararını verdikten sonra migration planı hazırlanacak!