Bayiye sözleşme fiyatını, bireysel müşteriye vitrin fiyatını gösteren; aynı katalogdan iki ayrı işi yöneten hibrit ticaret platformu
- Rol
Full Stack Developer
- Kapsam
Alan modeli
Fiyat motoru
Entegrasyon mimarisi
Yönetim paneli
Vitrin
- Araçlar
Next.js 16
Prisma
PostgreSQL
MinIO
Docker
Playwright
- Yıl
2026
/* Problem */
Toptan satışta her müşterinin fiyatı başkadır: bayinin sözleşmesi, grubun listesi, adet kademeleri, kanal indirimleri. Perakende tarafı ise sade bir vitrin ister. İkisini ayrı sistemlerde yürütmek, stok ve fiyat tutarsızlığı demekti.
/* Çözüm */
Tek katalog ve tek stok üzerinde çalışan, müşteriyi tanıyıp ona ait fiyatı hesaplayan bir platform tasarladım: 6 katmanlı fiyat motoru, takılıp çıkarılabilen kargo, ödeme ve fatura entegrasyonları, kod yazmadan yönetilen bir panel. Hepsi fazlara bölünmüş bir yol haritası ve karar kaydıyla belgelenmiş.
/* Neden bu teknolojiler? */
Fiyat motoru birbirine bağlı çok sayıda tabloya dayanıyor. Bu yüzden ilişkisel bir veritabanı (PostgreSQL) ve tip güvenli sorgular için Prisma kullandım; dosyalar için S3 uyumlu MinIO'yu, fiyat kurallarının sessizce bozulmaması için de Playwright testlerini ekledim.
Takılabilir entegrasyonlar: yeni sağlayıcı, tek dosya
Yeni bir kargo firması ya da fatura programı eklemek tek bir adaptör dosyası yazmak demek. Paneldeki ayar formu sağlayıcının şemasından otomatik üretiliyor, API anahtarları veritabanında şifreli duruyor; panel kodu hiç değişmiyor.
Fiyat denetçisi
/* Fiyatın nereden geldiği hep görünür */
Sözleşme, müşteriye özel liste, grup, kanal, varsayılan liste ve liste fiyatı öncelik sırasıyla değerlendiriliyor; zincirleme listeler, adet kademeleri ve 8 yuvarlama kuralı uygulanıyor. Panel fiyatın hangi adımda oluştuğunu tek tek gösteriyor; “bu fiyat neden böyle?” sorusu tahminle değil, cevapla karşılanıyor.