Design Templates - Metadata Saklama Sistemi

Puan, kategori, marka, not verilerini kalıcı ve ortak saklama planı

6 Ocak 2026 Planlama

Mevcut Durum

Basit Anlatım

Şu anda nerede tutuluyor?

Tasarım şablonlarına verdiğiniz puanlar, kategori, marka ve notlar tarayıcınızın hafızasında (localStorage) saklanıyor.

Problem nedir?

  • Başka tarayıcıdan bakınca görünmüyor
  • Farklı bilgisayardan erişilemiyor
  • Tarayıcı temizlenince kayboluyor
  • Ekip arkadaşlarınız göremez, herkes kendi notunu tutar

Yani: Veriler kişisel ve geçici durumda!

Teknik Detaylar

Dosya:

public/design/templates/index.php

Saklama Mekanizması:

localStorage.setItem('designData', JSON.stringify(designData))

Veri Yapısı:

{ "kurumsal-anasayfa/v1": { "favorite": true, "rating": 5, "note": "Mükemmel tasarım", "kategori": "saglik", "marka": "Acme Corp" } }

Sorun:

  • Browser-only (client-side)
  • Kalıcı değil (cache clear = kayıp)
  • Paylaşılamaz (user-specific)
  • Yedekleme yok

Çözüm Seçenekleri

ÖNERİLEN

Merkezi JSON Dosyası

Basit, hızlı, kalıcı çözüm

Nasıl Çalışır?

  • Tek bir JSON dosyası oluşturulur
  • Tüm tasarımların bilgileri burada tutulur
  • Puan verdiğinizde → dosyaya kaydedilir
  • Herkes aynı dosyayı okur → ortak veri

Teknik Yapı

Dosya: public/design/templates/metadata.json
Kaydetme: template-metadata.php → POST
Okuma: AJAX fetch → metadata.json

Artılar:

  • Basit, hızlı kurulum
  • Tüm kullanıcılar ortak veri görür
  • Yedekleme kolay (1 dosya)
  • Version control ile takip edilebilir
  • Database'e gerek yok

Dikkat Edilmesi Gerekenler:

  • Dosya izinleri (tuufi.com_:psaserv, 644)
  • Aynı anda kayıt çakışma riski (race condition)
  • Çok büyük veri olursa yavaşlayabilir (şimdilik sorun değil)

MySQL Database

Daha kapsamlı, profesyonel çözüm

Nasıl Çalışır?

  • Veritabanında tablo oluşturulur
  • Her tasarım için ayrı satır
  • SQL ile sorgulama yapılır
  • Güçlü, ölçeklenebilir

Teknik Yapı

Tablo: design_template_metadata
Kolonlar: template_id (VARCHAR) rating (INT) kategori (VARCHAR) marka (VARCHAR) note (TEXT) is_favorite (BOOLEAN)

Artılar:

  • Çok veri olsa da performanslı
  • Gelişmiş sorgulama (en çok puanlanan, vb.)
  • Eşzamanlı yazma sorunu yok
  • İstatistik raporları kolay

Neden Şimdi Değil?

  • Daha karmaşık kurulum
  • Migration, model, controller gerekli
  • Şu anda over-engineering olur
  • JSON çözümü yeterli (30-40 tasarım için)

Not: İleride 500+ tasarım olursa bu çözüme geçilebilir.

Önerilen Çözüm: JSON Metadata Sistemi

Ne Yapılacak? (Basit Anlatım)

  1. 1
    JSON dosyası oluşturulacak

    Tüm tasarımların puanları, kategorileri bu dosyada tutulacak

  2. 2
    Kaydetme sistemi kurulacak

    Puan verince → otomatik kaydedilecek

  3. 3
    Sayfa açılışta yüklenecek

    Templates sayfası → JSON'dan veriyi çekecek

  4. 4
    Herkes aynı veriyi görecek

    Tüm bilgisayarlardan, tarayıcılardan ortak erişim

Nasıl Yapılacak? (Teknik)

1. Metadata dosyası: public/design/templates/metadata.json
2. API endpoint (kaydetme): template-metadata.php

POST ile metadata.json'a yaz

3. Frontend (index.php):
  • • Sayfa açılışta: fetch metadata.json
  • • Puan ver: AJAX POST → metadata.php
  • • localStorage siliniyor (artık gereksiz)
4. İzinler: chown tuufi.com_:psaserv metadata.json chmod 644 metadata.json

Dosya Yapısı

Klasör Yapısı:

public/design/templates/ ├── index.php (mevcut) ├── template-action.php (mevcut - silme) ├── template-metadata.php (YENİ - kaydetme) ├── metadata.json (YENİ - veri) ├── kurumsal-anasayfa/ ├── madencilik/ └── ...

metadata.json Örnek:

{ "kurumsal-anasayfa/v1": { "rating": 5, "favorite": true, "kategori": "saglik", "marka": "Koc Holding", "note": "Müthiş tasarım" }, "madencilik/v2": { "rating": 4, "kategori": "madencilik", "marka": "Unimad" } }

Neden JSON? (Diğer Seçenekler Neden Değil?)

TXT Dosyası

Düz metin dosyası

Neden değil?

  • Parse etmek zor
  • Yapılandırılmış veri yok
  • JavaScript ile okuma zorlu

CSV Dosyası

Excel gibi tablo

Neden değil?

  • İç içe veri zor
  • Array/object desteği yok
  • Virgül sorunları

JSON Dosyası

Modern veri formatı

Neden en iyi?

  • JavaScript native
  • Yapılandırılmış veri
  • Oku/yaz basit
  • İnsan okunabilir

Sonraki Adımlar (Uygulama)

1

metadata.json oluştur

Boş JSON dosyası, izinleri ayarla

2

template-metadata.php yaz

POST ile JSON'a kaydetme API'si

3

index.php güncelle

localStorage → JSON fetch sistemine çevir

4

Mevcut localStorage verilerini taşı

Var olan puanları JSON'a aktar (migration)

5

Test et

Farklı tarayıcılardan dene, ortak veri kontrolü