Çok Satıcılı E-Ticaret Pazaryeri
Alıcı, satıcı ve platform arasında para akışı olan bir pazaryeri. Bu tür sistemlerde en pahalı hata para hatasıdır: bu yüzden mimari kararların çoğu doğruluk ve denetlenebilirlik etrafında verildi. Müşteri gizliliği gereği arayüz görselleri paylaşılmamaktadır; anlatım mimari düzeydedir. Sistem, talep hâlinde yüz yüze görüşmede gösterilebilir.
Dört kritik karar
Çok satıcılı pivot
Alıcının tek ödemesi, satıcı bazlı alt siparişlere otomatik bölünüyor. Her satıcı yalnızca kendi siparişini görüyor; kargo, iade ve hakediş bu alt sipariş üzerinden yürüyor. Tek sipariş modeliyle başlanırsa bu ayrım sonradan eklenemiyor.
Çift kayıtlı defter
Satıcı hakedişi tek bir bakiye alanında tutulmuyor. Her hareket ayrı bir satır: başarılı ödeme CREDIT, iptal edilen lojistik otomatik DEBIT yazıyor. Bakiye her seferinde toplanarak hesaplanıyor, hiçbir zaman üzerine yazılmıyor: muhasebenin yüzyıllık yöntemi, denetlenebilirliği ücretsiz getiriyor.
Ödeme sağlayıcı soyutlaması
Ödeme mantığı Adapter Pattern ile view katmanından tamamen ayrıldı. Sağlayıcı değiştiğinde iş mantığına dokunulmuyor. Senkron doğrulamalar çift harcama kilidiyle, asenkron webhook'lar idempotency kilidiyle korunuyor: tarayıcı kapansa bile ödeme durumu tutarlı kalıyor.
Tek şemalı API
Özel bir DRF renderer ve exception handler ile her yanıt: 200 de olsa 500 de
olsa: aynı JSON şemasında dönüyor: success / data / error.
Frontend'in yanıt şeklini tahmin etmesi gereken hiçbir durum kalmıyor.
Altyapı
Medya yüklemeleri sunucu diskini hiç görmeden boto3 ile Cloudflare R2'ye (S3 uyumlu) akıtılıyor; böylece uygulama durumsuz kalıyor ve yatay ölçeklenebiliyor. Dağıtım Docker Compose ile altı servis üzerinden yürüyor, sürekli entegrasyon GitHub Actions'ta.