dotCREA
TREN

Iconica Society: Printify ve Stripe ile çalışan çok dilli sanat baskısı mağazası

Iconica Society, kamu malı başyapıtları poster, çerçeveli poster ve obje olarak sipariş üzerine bastıran bir sanat baskısı mağazasıdır. Mağaza Next.js ile sıfırdan geliştirildi: Printify üretim tarafında tek doğru kaynak olarak kaldı, vitrin kendi veritabanından okuyor. İşin ağırlık merkezi tasarım değil, ödeme ile üretim arasındaki bağdı: ödenen sipariş insan eli değmeden üretime gidiyor, ödenmeyen kendiliğinden iptal ediliyor. Eserler ürün gibi değil sanat eseri gibi sunuluyor; ressam, akım, oda ve renk üzerinden keşfedilebiliyor.

MüşteriIconica Society · iconicasociety.com
SektörSanat baskısı — kamu malı başyapıtların poster ve objeleri, sipariş üzerine üretim
PlatformNext.js — özel geliştirme, kendi sunucusunda, Cloudflare arkasında yayında
Yıl2026
KapsamÖzel mağaza geliştirme, Printify entegrasyonu, Stripe ödeme, Çok dilli yapı (TR, EN), Sanat rehberi ve SEO, Yönetim paneli, Instagram otomasyonu
167
Eser, 72 ressam; her biri kendi sayfasında
171
Koleksiyon sayfası, 12 türde
83
Sanat rehberi sayfası, çok dilde
984
URL site haritasında
22
Teslimat ülkesi, 4 para birimi (USD, EUR, GBP, AUD)
5–15 gün
Avrupa siparişlerinde teslim süresi (önceki 10–30 günden)

Çözdüğümüz problem

  • Sipariş üzerine üretim yapan mağazaların çoğu hazır tema üzerinde çalışır: ürün sayfası çoktur, içerik azdır. Sanat eseri satan bir mağaza için bu yetmiyor.
  • Printify ürünü basıp gönderiyor ama mağaza, ödeme ve sipariş arasındaki bağı kurmuyor. Ödenmemiş sipariş üretime gitmemeli, ödenmiş sipariş beklememeliydi.
  • ABD'de basılan posterler Avrupa'ya 10–30 günde ulaşıyordu.
  • Aynı eser poster, çerçeveli poster ve obje olarak ayrı ürünlerdi; ziyaretçi aynı tabloyu listede defalarca görüyordu.
  • Türkçe içerik Printify'da tutulamıyor; ürün başlıkları yalnızca İngilizceydi.

Hedefimiz

  • Printify'ı tek doğru kaynak olarak bırakıp hızlı, kendi veritabanından okuyan bir vitrin kurmak.
  • Ödeme ile üretimi otomatik bağlamak: ödenen sipariş üretime, ödenmeyen iptale.
  • Eserleri ürün değil sanat eseri olarak sunmak: ressam, akım, oda ve renk üzerinden keşif.
  • Türkçe ve İngilizceyi ayrı adreslerle, eşit kalitede yayınlamak.
  • Arama motorlarında ve yapay zekâ asistanlarında “Van Gogh posteri” ile “Van Gogh kimdir” sorularının ikisinde de görünmek.
Iconica Society ana sayfası, masaüstü görünüm
Ana sayfa — seçki şeridi ve koleksiyon girişleri

Printify entegrasyonu

  • Ürünler Printify'dan veritabanına senkronlanıyor: Printify yayınlayınca webhook ile anında, ayrıca beş dakikada bir arka planda. Ziyaretçi hiçbir zaman Printify'ı beklemiyor.
  • Tabloda Printify'ın sütunları ile mağazanın kendi sütunları ayrı tutuluyor. Türkçe başlık, açıklama, öne çıkarma, sıralama ve görsel sırası senkronda hiç ezilmiyor.
  • Türkçe başlığı girilmemiş ürünler için başlık, katalogdaki eser ve ressam adlarından otomatik üretiliyor.
  • Bir eserin poster, çerçeveli poster ve kanvas ürünleri tek kart altında toplanıyor; ürün sayfasında format değiştirici olarak sunuluyor.
  • Kargo ücreti ödeme adımında Printify'dan canlı alınıyor. Varyant bazında hangi ülkeye gönderilebildiği tutuluyor; gönderilemeyen ürün sepette uyarı veriyor.
  • Avrupa ikizi: Avrupa ve Birleşik Krallık siparişlerinde her poster, Almanya'da basılan ikiziyle değiştiriliyor. İkizler listelenmiyor, yalnızca kargo hesabında ve siparişte yer alıyor. Teslim süresi 10–30 günden 5–15 güne indi.

Ödeme: Stripe

  • Stripe Checkout ile kart, Apple Pay ve Google Pay. Kart bilgisi siteye hiç uğramıyor.
  • Sipariş Printify'da beklemede açılıyor. Ödeme gelince webhook siparişi üretime gönderiyor; ödenmeyen oturum bir saat sonra kapanınca sipariş Printify'da kendiliğinden iptal ediliyor.
  • Webhook imzası doğrulanıyor. Üretime göndermeden önce ödenen tutar ve para birimi, veritabanındaki siparişle karşılaştırılıyor.
  • Test anahtarıyla bütün akış para çekmeden deneniyor; test ödemeleri üretime gitmiyor.
  • Stripe anahtarları panelden giriliyor, şifrelenerek saklanıyor; panel canlı ve test modunu ayrıca gösteriyor.
  • Her siparişle alıcının onay kaydı saklanıyor: onay zamanı, IP, tarayıcı ve onaylanan sözleşme metinlerinin o anki kopyası.
Ürün sayfası, aynı eserin formatları ve ölçü rehberi
Ürün sayfası — aynı eserin formatları tek sayfada, ölçü rehberiyle

Katalog, koleksiyon ve keşif

  • 167 eser ressam, akım, dönem, tarz, oda, dekorasyon tarzı, tema, mevsim, renk paleti, müze, seçki ve ebat koleksiyonlarına bağlı. Toplam 171 koleksiyon sayfası.
  • Henüz satışta olmayan eserler de “yakında” olarak listeleniyor; katalog ürünle birlikte büyüyor.
  • 14 galeri seti: birlikte asılmak üzere seçilmiş eser grupları.
  • Öneri sistemi her ürün sayfasında farklı bir zevk sinyaline cevap veriyor: aynı ressam, aynı tema, aynı akım, aynı palet. Son satır, ortak koleksiyonlara göre ağırlıklı skorla hesaplanıyor.
  • Favori listesi, son bakılanlar ve ebat rehberi.
  • Önerili arama: koleksiyon, ürün ve eserler yazarken listeleniyor. Çok dilde eşleşiyor, aksanları ve tek harf hatasını tolere ediyor, klavyeyle gezilebiliyor.

Üyelik ve sipariş

  • E-posta ve şifreyle ya da Google ve Facebook ile üyelik.
  • Adres defteri, sipariş geçmişi ve sipariş durumu.
  • Üye olmadan verilen siparişler, e-posta doğrulanınca üyenin geçmişine ekleniyor.
  • Doğrulama, şifre sıfırlama ve sipariş onayı e-postaları Cloudflare Email Service üzerinden gidiyor.
Önerili arama paneli, koleksiyon ve eser sonuçları
Önerili arama — koleksiyon, ürün ve eserler yazarken listeleniyor

Çok dilli yapı ve para birimi

  • Türkçe kök adreste, İngilizce /en altında; adresler de çevrili (koleksiyonlar → collections, eser → artwork).
  • Sayfalar bir kez yazılıyor; bağlantılar dile göre çevriliyor, dil değiştirici aynı sayfanın diğer dildeki adresine gidiyor.
  • Para birimi ziyaretçinin ülkesine göre seçiliyor: Euro bölgesinde EUR, Birleşik Krallık'ta GBP, Avustralya'da AUD, diğer ülkelerde USD. Ziyaretçi değiştirebiliyor.

Sanat rehberi ve SEO

  • 83 rehber sayfası: ressamlar, akımlar, dönemler ve tarzlar. Rehber sayfası “kimdir” sorusuna, koleksiyon sayfası “posteri” aramasına cevap veriyor. İkisi birbirine bağlanıyor, birbiriyle yarışmıyor.
  • Ürün, koleksiyon, rehber, SSS ve kırıntı yolu için yapılandırılmış veri. Kargo ve iade politikası ürün verisinde.
  • hreflang ile çok dilli site haritası; 984 adres.
  • Yapay zekâ asistanları için llms.txt; tarayıcıları robots.txt'de adıyla izinli.
  • Sepet, ödeme, hesap ve arama sonuçları dizin dışında.

Yönetim paneli ve Instagram

  • Siparişler: durum, ödeme yöntemi, adres, kalemler ve onay kaydı.
  • Müşteriler ve ürünler: Türkçe başlık ve açıklama, öne çıkarma, sıralama, görsel sırası.
  • Ödeme ayarları: Stripe anahtarları, webhook adresi ve olay listesi.
  • Instagram: gönderi, karusel, reel ve hikâye taslakları; onay, zamanlama ve otomatik yayın.
  • Yayınlanan gönderilerin erişim, beğeni, kaydetme ve paylaşım sayıları düzenli çekiliyor; erişim anahtarı kendiliğinden yenileniyor.

Teşhis gerektiren sorunlar

  • Görseller geç yükleniyordu: Printify görsellere önbellek başlığı göndermiyor. Yeniden boyutlandırılmış kopyalar dört saatte bir eskiyor, sunucu her görüntülemede aynı görseli yeniden üretiyordu. Önbellek süresi bir aya çıkarıldı, Cloudflare'de görsel önbellek kuralı yazıldı.
  • Senkron her seferinde “değişti” diyordu: PostgreSQL jsonb alanlarındaki anahtarların sırasını değiştiriyor. Karşılaştırma anahtar sırasından bağımsız hale getirildi; artık yalnızca gerçekten değişen ürün yazılıyor.
  • Ödenmeyen sipariş iptal edilemiyordu: Printify, siparişi oluşturduktan sonraki ilk saniyelerde iptali reddediyor. İptal, artan aralıklarla yeniden deneyen bir kuyruğa alındı.

Yayın ve dayanıklılık

  • Ana dala gönderim sunucuda otomatik dağıtımı başlatıyor: bağımlılıklar, veritabanı göçleri, derleme ve yeniden başlatma.
  • Şema değişiklikleri yalnızca göç dosyalarıyla canlıya çıkıyor.
  • Cloudflare: sıkı TLS, HTTPS yönlendirme, gerçek ziyaretçi IP'si ve görsel önbelleği.
  • Ödeme sağlayıcı anahtarları ve panel ayarları veritabanında şifreli.

Sonuç

Iconica Society, kamu malı başyapıtları sipariş üzerine basan, çok dilli bir sanat mağazası olarak yayında. Ödeme, üretim ve iptal insan eli değmeden işliyor: Stripe'ta ödenen sipariş Printify'da üretime gidiyor, ödenmeyen kendiliğinden iptal ediliyor. 167 eser, 171 koleksiyon ve 83 rehber sayfası tek katalogdan üretildiği için Printify'a eklenen her ürün kendi koleksiyonlarına, aramaya ve site haritasına otomatik giriyor. Avrupa siparişleri Almanya'da basılan ikizlerle karşılandığı için teslim süresi 10–30 günden 5–15 güne indi.

Süreç
1. aşama
Katalog yapısı, koleksiyon türleri ve çok dilli adres yapısı
2. aşama
Printify senkronu, ürün sayfası, format gruplama ve Avrupa ikizleri
3. aşama
Üyelik, sepet, ödeme akışı ve sipariş kaydı
4. aşama
Sanat rehberi, yapılandırılmış veri ve site haritası
5. aşama
Yönetim paneli ve Instagram otomasyonu
6. aşama
Stripe entegrasyonu, yasal metinler ve canlı ödeme testi
Teknik künye
Next.js 16 (App Router, sunucu bileşenleri)React 19TypeScriptTailwind CSS 4PostgreSQL ve Drizzle ORMAuth.js (e-posta, Google, Facebook)Printify API ve webhookStripe Checkout ve webhookInstagram Graph APICloudflare (proxy, önbellek, e-posta)Yapılandırılmış veri ve llms.txtOtomatik dağıtım

Mobil arayüz

Iconica Society ana sayfası, mobil görünüm
Mobil ana sayfa