# Yapaylisans.com Marka ve Shopier Backend Tasarımı

## Amaç

Geçici yayın adresi `seslendir.com.tr` olarak kalırken mağazanın görünen ve çalışan markasını tamamen `Yapaylisans.com` yapmak; runtime kaynaklarında, build çıktısında ve canlı HTML/görsellerde eski marka izi bırakmamak. Marka geçişinden sonra Shopier ödeme sağlayıcısını kullanan güvenli bir dijital ürün backend temelini başlatmak.

## Marka geçişi

- Aktif kaynaklardaki eski marka metinleri, alan adları, TypeScript sembolleri, CSS değişkenleri/sınıfları ve dosya/klasör adları `Yapaylisans` ad alanına taşınır.
- Mağaza içi bağlantılar site-relative olur. ETBİS ve ürün sağlayıcıları gibi gerçek üçüncü taraf bağlantılar bilinçli olarak korunur; eski markaya ait sosyal ve kariyer bağlantıları kaldırılır.
- Eski logo asset'i kullanılmaz. Header ve footer için erişilebilir bir `Yapaylisans.com` wordmark oluşturulur.
- Eski markayı görsel olarak taşıyan hero/referans görselleri canlı runtime'dan çıkarılır veya yeni marka katmanı ile tamamen kapatılır.
- Tarihsel araştırma ve karşılaştırma materyali repodan çıkarılıp `/tmp/yapaylisans-original-reference-20260808/` altında geri alınabilir biçimde saklanır. Git geçmişi yeniden yazılmaz.
- Kabul kapısı: bağımlılık/build dizinleri ve git geçmişi hariç proje yolunda gerçek eski marka eşleşmesi sıfır; OCR ve canlı screenshot incelemesinde görünür eski logo/metin yok.

## Deploy

- Mevcut çalışan cPanel release arşivleri rollback için korunur.
- `lint`, `typecheck` ve production build başarıyla tamamlanır.
- Next.js standalone paketinde `server.js`, traced runtime, `.next/static` ve `public` bulunur.
- cPanel Node 24 uygulaması mevcut app root ve `server.js` startup ayarıyla yeniden doğrulanır.
- Yeni paket ayrı arşiv olarak yüklenir, uygulama yeniden başlatılır ve `seslendir.com.tr` üzerinde HTTP, başlık, asset, masaüstü/mobil ve eski marka sızıntısı test edilir.
- DNS değiştirilmez. Başarısız smoke testte eski arşive dönülür.

## Backend mimarisi

Backend aynı Next.js reposunda modüler monolit olarak başlar:

- PostgreSQL + Prisma kalıcı veri katmanı.
- Katalog, sepet, sipariş, envanter, ödeme, teslimat, admin ve audit modülleri.
- Shopier yalnızca `PaymentGateway` adapter'ıdır; sipariş ve stok sistem kaynağı değildir.
- Callback ham veri/imza, merchant, sipariş, tutar ve para birimi doğrulamasından geçer.
- Callback tekrarları benzersiz provider anahtarları ve sipariş durum makinesiyle idempotent işlenir.
- Ödeme kaydı, stok tahsisi ve outbox olayı aynı transaction içinde oluşturulur.
- Worker teslimatı yeniden deneyebilir; kalıcı hatalar operasyon kuyruğuna düşer.
- Dijital kodlar public dosyada veya loglarda bulunmaz; şifreli/maskelemiş saklanır.
- Admin işlemleri RBAC ve append-only audit ile korunur.

## Test yaklaşımı

- Önce marka sızıntısı testi yazılır ve mevcut durumda başarısız olduğu kanıtlanır.
- Backend davranışları test-first geliştirilir: durum makinesi, fiyat doğrulama, callback imzası, callback replay, eşzamanlı stok tahsisi, teslimat retry ve yetkisiz admin.
- Gerçek Shopier kimlik bilgileri yokken contract tabanlı fake payment provider kullanılır; gerçek adapter yalnızca güncel Shopier dokümanı ve credential sağlandığında etkinleşir.

## Başarı ölçütleri

1. Canlı mağazada yalnızca Yapaylisans.com markası görünür.
2. Eski marka runtime kaynaklarında, served HTML'de ve kullanıcıya gösterilen görsellerde yoktur.
3. Mevcut mağaza etkileşimleri ve responsive davranış bozulmaz.
4. Shopier backend çekirdeği bağımsız modüller ve test seam'leriyle başlamış olur.
5. Deploy rollback edilebilir ve kanıtlıdır.
