DEMOBu kuyumcu e-ticaret sitesi Briefikir tarafından geliştirilmiş bir tanıtım demosudur. Altın ve gümüş mağazanız için e-ticaret, mobil uygulama ve yönetim paneli için bize ulaşınBriefikir demosu · bize ulaşın
Mobil hazır mimari · OpenAPI 3.1

Geliştirici ve mobil uygulama altyapısı

Sırmava'nın web sitesi, iOS/Android uygulaması ve mağaza paneli tek bir monorepoda aynı çekirdeği paylaşır. Canlı altın fiyatı, işçilik kuralları, fiyat kilidi ve ödeme akışı bir kez yazılır; her ekran ve sunucu aynı sonucu verir. Bu demoda veri tarayıcıda tutulur, kurulumda tek satırla gerçek sunucuya bağlanır.

Paket mimarisi

Kural: hiçbir ekran yerel depoya doğrudan erişmez; her okuma/yazma api.* üzerinden gider. Demo MockAdapter işlemleri olay olarak sekmeler arasında yayar — paneldeki makas değişikliği ya da satış duraklatma müşteri ekranına anında düşer.

Tek fiyat motoru: bu yüzük gerçekten hesaplandı

import { piyasaAn, urunFiyat } from '@sirmava/core'

const piyasa = piyasaAn(Date.now(), fiyatAyar)  // has altın ₺/g
const d = urunFiyat(urun, { ayar: '14', renk: 'sari', olcu: 14 },
  { piyasa, fiyat: fiyatAyar, kampanyalar })
// d.maden = gram × milyem × has satış (+ makas)
// d.iscilik = gram başı | % | sabit (kural ezebilir)
// d.kdv = (işçilik + taş) × oran   — altın, mevzuata göre
// web, mobil, panel ve sunucu: aynı sonuç
Örnek burgu yüzük2,40 g · 14 ayar (585 milyem) · 1,400 g has · ölçü 1410.965,00 ₺
Maden1,400 g × 6.228,55 ₺/g8.744,88 ₺
İşçilik (%16)1.399,18 ₺
Taş (zirkon)450,00 ₺
KDV (%20 · işçilik + taş)369,84 ₺
Toplam (5 ₺'ye yuvarlı)10.965,00 ₺

Demo — örnek fiyatlar, gerçek piyasa verisi değildir; kurulumda lisanslı fiyat sağlayıcı bağlanır.

Mobil uygulama ekran haritası

React Native iskeleti bu depodaki apps/mobile klasöründedir ve tip denetiminden geçer. Her ekranın kullandığı çekirdek fonksiyon aşağıda; bu fonksiyonlar web'de de aynıdır.

  1. 01KeşfetKategori, koleksiyon, canlı "başlayan" fiyatkartFiyat · fiyatGirdi
  2. 02ÜrünAyar · renk · ölçü, şeffaf fiyat dökümüurunFiyat · varyantGram
  3. 03SepetFiyat kilidi sayacı, güncel fiyatla yenilesepetHesapla · kilitYenile
  4. 04ÖdemeSağlayıcının güvenli sayfası WebView içinde/v1/odeme/baslat · 3D Secure
  5. 05SiparişlerimAtölye → kalite → sigortalı kargoadimlar · DURUM_AD
  6. 06FiyatlarCanlı alış/satış, çeyrek, gram altınkalemFiyatlari · piyasaAn
  7. 07Fiyat alarmıHedef fiyata inince push bildirimFiyatAlarmi · /v1/ben/alarmlar
  8. 08Sanal denemeKamera ile küpe/kolye/yüzük (cihazda)ArTur · dekupe görsel

Yerel yetenekler kurulumda eklenir: push bildirim (fiyat alarmı, sipariş ve atölye durumu), kamera ile sanal deneme, ödeme WebView'i. Ayrıntı: Mobil uygulama.

Ödeme sağlayıcı adaptörleri

Üç adaptör aynı OdemeSaglayici arayüzünü uygular: odemeBaslat, ucDSecureTamamla, iade, iptal, taksitSorgula, callbackDogrula. İmza üreten çağrılar yalnız sunucuda çalışır; kriptografi dışarıdan enjekte edilir, böylece aynı kod React Native'de de derlenir. Kuyumcuda ön provizyon kullanılmaz: fiyat kilitli olduğu için kesin tutar ödeme anında bellidir, iadeler kısmi ya da tam iadeyle yapılır.

SağlayıcıTaksitKart saklamaKısmi iadeBarındırılan ödeme formuAkış
PayTRVarVarVarVarget-token (sunucu, HMAC-SHA256) → iFrame → imzalı bildirim → "OK"
iyzicoVarVarVarVarCheckout Form initialize (IYZWSv2) → token → sunucu sorgusu (detail) → sipariş
DemoVarVarVar—Ağ isteği yok; test kartlarıyla başarılı / yetersiz bakiye / 3D hatası / zaman aşımı

Yüksek tutarlı siparişte ek doğrulama adımı istenir; test kipindeki ödeme sipariş ve tahsilat yazmaz. Ödeme altyapısı ayrıntıları · Demo — gerçek ödeme alınmaz. Sağlayıcı arayüzleri ve logoları kullanılmaz.

Fiyat, ERP ve e-Fatura entegrasyon noktaları

interface FiyatSaglayici {     // lisanslı canlı fiyat
  an(): Promise<PiyasaAn>           // has/gümüş alış-satış
  akis(f: (p: PiyasaAn) => void): () => void
}
interface GramStokKaynagi {     // ERP / kasa
  hasStok(magaza: string): Promise<{ altin: Gram; gumus: Gram }>
  parcalar(degisenSonra: Iso): Promise<TekilParca[]>
}
interface KargoSaglayici {      // değer beyanlı sigortalı kargo
  etiket(s: Siparis, deger: Kurus): Promise<{ takip: string; pdf: string }>
}
interface EBelgeSaglayici {     // e-Arşiv / e-Fatura entegratörü
  faturaKes(s: Siparis): Promise<{ ettn: string; pdf: string }>
}
  • Canlı fiyat: lisanslı sağlayıcıdan has altın ve gümüş alış/satış; panelde kalem bazında makas ve elle fiyat kipi.
  • Gram stok / ERP: has gram ve tekil parça (seri no, sertifika) stoku; mağaza ve online satış aynı stoğu kullanır.
  • Sigortalı kargo: değer beyanlı gönderi etiketi ve takip numarası.
  • e-Arşiv / e-Fatura: altın takıda KDV matrahı mevzuata göre ayrıştırılarak belge kesilir.
  • Pazaryerleri: ürün eşleştirme ve canlı fiyatla stok/fiyat gönderimi (adaptör arayüzü).

Demo — gerçek bağlantı yok; kurulumda kurumun yetkisi ve sağlayıcının arayüzü üzerinden bağlanır.

API sözleşmesi (OpenAPI 3.1)

Fiyat, katalog, sepet ve fiyat kilidi, siparişler, müşteri, ödeme ve panel uçları; bütün tutarlar kuruş. Uçlara tıklayıp şema, örnek istek ve curl komutunu görebilirsiniz. openapi.yaml

API sözleşmesi yükleniyor…

Sık sorulanlar

Web sitesi, mobil uygulama ve panel aynı altın fiyatını nasıl hesaplıyor?

Canlı has altın/gümüş fiyatı, makas, işçilik kuralları, taş, KDV ve fiyat kilidi tek bir çekirdek pakette (@sirmava/core) hesaplanır. Web, React Native uygulaması, mağaza paneli ve sunucu aynı fonksiyonu çağırır; tutarlar kuruş cinsinden tamsayıdır, yuvarlama farkı oluşmaz.

Fiyat kilidi sunucuda nasıl korunur?

Sepete ekleme isteğinde sunucu o anın fiyatını hesaplar ve kilit kaydını (birim fiyat, has fiyatı, bitiş) saklar. Ödeme başlatılırken kilit süresi denetlenir; süre dolmuşsa ödeme açılmaz ve müşteriden güncel fiyatı onaylaması istenir. Böylece altın fiyatı ödeme sırasında değişse de müşteri gördüğü fiyattan öder.

Canlı fiyat kaynağı nereden gelir?

Bu demoda fiyatlar belirlenimci bir simülasyondur (bütün sekmelerde aynı). Kurulumda lisanslı bir fiyat sağlayıcısı ya da mağazanın kendi elle girdiği fiyatlar bağlanır; panelde kalem bazında makas ve ani dalgalanmada satışı duraklatma kuralı vardır.

Mobil uygulama hazır mı?

Expo / React Native iskeleti bu depoda: Keşfet, Ürün (varyant ve canlı fiyat), Sepet (kilit sayacı), Siparişlerim ve Fiyatlar ekranları çekirdeği paylaşır ve tip denetiminden geçer. Kurulumda markanın görselleri, push bildirimi (fiyat alarmı, sipariş durumu), kamera ile sanal deneme ve ödeme WebView akışı eklenip mağazalara gönderilir.

PayTR ve iyzico birlikte kullanılabilir mi?

Evet. Panelde etkin ve yedek sağlayıcı seçilir; etkin sağlayıcı hata verirse ödeme yedeğe düşer. İki sağlayıcı da aynı OdemeSaglayici arayüzünü uygular; gizli anahtarlar yalnız sunucuda durur.

Bütün yazılım özellikleri