Whitelabel e-ticaret altyapısı

Kendi markanla, kendi alan adınla e-ticaret

Shopio tek bir kurulumda birden fazla mağazayı çalıştırır. Katalog, sipariş, iade, kampanya ve müşteri yönetimi ilk günden hazır gelir; her mağaza kendi alan adında yayınlanır ve verileri veritabanı seviyesinde yalıtılır.

Canlı vitrinler

Ekran görüntüsü değil, şu anda yayında olan iki mağaza. İkisi de aynı kurulumda, aynı katalog altyapısında çalışıyor — farkları yalnızca şablon ve ayarlar.

Mağazanın gündelik işi

Ürün girmekten iade işlemeye kadar bir mağazanın her gün yaptığı işler panelde hazır duruyor. Aşağıdaki başlıklar panelin kendi menüsüyle birebir.

Katalog

  • Kategori ve tek kademe alt kategori (İçecekler › Gazlı İçecekler)
  • Marka, etiket, çoklu görsel
  • Varyant: beden, renk — her varyantın kendi fiyatı ve stoğu
  • Çoklu depo stoğu; hangi deponun satışa açık olduğunu sen seçersin
  • CSV ile toplu yükleme — önce ne olacağını gösteren önizleme
  • Yüklenen görseller otomatik boyutlandırılıp WebP’ye çevriliyor

Sipariş ve teslimat

  • Sipariş durumları ve doğrulanmış geçişler — geriye dönük hatalı geçiş yok
  • Üye olmadan sipariş; müşteri sonradan sipariş numarasıyla sorgulayabiliyor
  • Kargo yöntemleri, ücret, firma ve takip numarası
  • İade akışı: talep → onay → teslim alma → para iadesi
  • İptal ve iade stoğu, çıktığı depoya geri yazıyor
  • Sipariş onayı e-postası mağazanın kendi adıyla gidiyor

Pazarlama

  • Kampanya motoru: tüm ürünler, kategori ya da seçilmiş ürünler
  • Üst kategoriye kurulan kampanya alt kategorilerini de kapsıyor
  • Kupon: yüzde ya da tutar, kullanım ve müşteri başına limit
  • Vitrinde indirim şeridi ve kampanyanın kendi sayfası
  • Market şablonunda slider ve story alanları
  • Trafik kaynağı takibi — hangi kanaldan gelen sipariş verdi

Müşteri

  • Müşteri hesabı, sipariş geçmişi, adres defteri
  • Favoriler
  • Ürün yorumu ve puanı — yayınlanmadan önce onaydan geçiyor
  • Şifremi unuttum akışı, mağazanın kendi alan adından
  • Her mağazanın müşterisi ayrı: aynı e-posta başka mağazada bağımsız hesap

Müşterinin gördüğü taraf

Vitrin sunucuda render ediliyor: sayfa JavaScript beklemeden geliyor ve arama motoru katalogun tamamını gezebiliyor.

Her sektöre uygun vitrin, tek katalog
Market, kahve, moda, elektronik ve daha fazlası. Şablonu panelden değiştiriyorsun; katalog aynı kalıyor. Marka rengi ve başlık yazı tipi de oradan.
Arama motoruna hazır
Her mağazanın kendi site haritası, robots.txt’i, canonical adresleri ve ürün yapısal verisi (fiyat, stok, puan). Ürün sayfasında kırıntı yolu.
Türkçe ve İngilizce
Vitrin, panel ve hata mesajları iki dilde. Mağazanın dili satıcının seçimi; müşteriye giden e-posta da o dilde.
KVKK ve çerez onayı
Kabul ve ret aynı ağırlıkta — mevzuatın aradığı “özgür irade” şartı. Bant, satıcının kendi aydınlatma metnine bağlanıyor.

Altında ne var

Birden fazla mağazayı aynı kurulumda çalıştırmanın tek gerçek riski verilerin birbirine karışması. Shopio bu riski uygulama koduna bırakmıyor.

Veritabanı seviyesinde izolasyon

Tenant ayrımı yalnızca uygulama kodunda değil, PostgreSQL Row-Level Security ile veritabanında zorlanıyor. Uygulama Postgres’e tablo sahibi OLMAYAN, RLS’i atlayamayan bir rolle bağlanıyor: kodda bir filtre hatası olsa bile veritabanı başka mağazanın satırını döndürmüyor.

Rol ve yetki

Altı hazır rol (sahip, yönetici, müdür, muhasebe, personel, izleyici) ve ayrıntılı işlem izinleri. Ekip üyesini istediğin mağazaya istediğin yetkiyle ekliyorsun; yetkisi olmayan ekranı hiç görmüyor.

Kendi sunucunda

Docker katmanı yok: Nginx, Kestrel ve PostgreSQL doğrudan çalışıyor. Kurulum betikle; yeni bir sunucuya baştan kurmak dakikalar sürüyor ve veriler senin sunucunda kalıyor.

Yedek ve geri alma

Veritabanı ve görseller günlük otomatik yedekleniyor, eski yedekler kendiliğinden temizleniyor. Sorunlu bir sürüm tek komutla bir öncekine döndürülebiliyor.

Doğrulanmamış kod yayına çıkmıyor

Testler dağıtımın kapısında: main’e giden her değişiklik önce .NET ve vitrin test paketlerinden geçiyor, geçemezse üretime inmiyor. Testler gerçek bir PostgreSQL’e bağlanıyor — izolasyonun canlı olduğu ancak orada kanıtlanabilir.

NginxKestrel · .NET 10PostgreSQL · RLSsystemd

Nasıl başlanır

Mağaza açmaktan yayına almaya kadar üç adım.

  1. 01

    Mağazanı oluştur

    Platform yöneticisi konsoldan mağazanı açar; panelden temel bilgilerini gir, şablonunu seç.

  2. 02

    Katalogunu yükle

    Ürünleri tek tek gir ya da CSV ile toplu yükle. Kategori ağacını dosyadan da kurabilirsin.

  3. 03

    Alan adını bağla

    Kendi alan adını yönlendir; sertifika ve yayın otomatik. Mağazan artık kendi markasıyla ayakta.

Ödeme seçenekleri: Sipariş akışı sepetten tahsilata kadar çalışır. Mağaza; iyzico, PayTR, Stripe veya Tap kart altyapısını bağlayabilir, isterse havale/EFT kabul edebilir. Kullanılmayan ödeme yöntemleri müşteriye gösterilmez.

Mağazanı yönetmeye başla

Mağazan açıldıktan sonra yönetim panelinden ürünlerini ekle; özel alan adı ayarını platform yöneticinle tamamla.