Eğitim
keeplearnin: Kurumlar ve eğitmenler için öğrenme platformu
Kurs, canlı ders, mentorluk, sertifika ve kurumsal eğitimi tek platformda toplayan öğrenme ürünümüz. MicroFrame üzerinde geliştirildi; henüz yayında değil.
This page is also available in English.
B2C, B2B ve marketplace modellerini yan yana yürüten tek bir ticaret platformu — ürün, stok, sipariş, kampanya ve satıcı yönetimi; ödeme ve abonelik modülleri içeride.
Bir ticaret altyapısı genellikle tek bir iş modeli için kurulur. İkincisini eklemek — B2C'nin yanına B2B fiyatlandırması koymak ya da kataloğu üçüncü taraf satıcılara açmak — ya bunun için tasarlanmamış bir sistemi zorlamak ya da paralel bir sistem daha ayağa kaldırmak demektir. Her iki yol da aynı temel yapıları (katalog, stok, sipariş, ödeme, kampanya) iki ayrı sahibin altına böler.
Platform en baştan iş modelinden bağımsız kurgulandı. B2C, B2B ve marketplace, üç ayrı uygulama değil; tek bir katalog, tek bir stok defteri ve tek bir sipariş yaşam döngüsü üzerindeki konfigürasyonlar. Satıcı panelleri ile ödeme ve abonelik modülleri de aynı çekirdeğe bağlanıyor; böylece yeni bir iş modeli yeniden geliştirme değil, devreye alma işi oluyor.
Platform, ticaret yaşam döngüsünün tamamını uçtan uca kapsıyor: zengin öznitelik tanımlamalarıyla ürün ve kategori yönetimi, depolar arası stok takibi, sepetten teslimata sipariş ve kargo süreci, müşteri ve kampanya yönetimi ve satıcılara ayrılmış paneller. Entegre ödeme ve abonelik modülleri de bunun yanında çalışıyor; yani yinelenen ticaret sonradan eklenen bir parça değil, aynı sistemin bir parçası.
Mimari yatay ölçekleniyor, ön yüz katmanı ise özelleştirilebilir. Yüksek trafikli senaryolarda bile hızlı pazara çıkışı mümkün kılan şey bu ikisi: vitrin, altındaki ticaret çekirdeği çatallanmadan markaya göre şekillendirilebiliyor.
Pontefy geliştirme aşamasında. Aşağıdaki liste hedeflediğimiz yetenekleri anlatır; bitmiş bir ürünü değil, tasarımı tarif eder.
B2C, B2B ve marketplace ancak aralarında değişen şeyler kodda dallanma değil veri olduğu sürece tek bir sistemin konfigürasyonu olarak kalabiliyor. Bunun yürüyüp yürümeyeceğine karar veren yer fiyatlandırma. Fiyat diye bir kolon yok: fiyat bir bağlam üzerinden çözümleniyor — müşteri ya da müşteri grubu, sözleşme, miktar kırılımı, para birimi, vergi yaklaşımı. Böylece bir B2B sözleşme fiyatı ile bir B2C liste fiyatı, girdileri farklı olan aynı çözümleme oluyor ve hiçbiri diğerinin özel hâli değil. Vergi gösterimi de aynı kurala tabi: fiyatların dahil mi hariç mi gösterileceği vitrinin değil bağlamın özelliği. Aynı kataloğun iki ayrı katalog olmadan hem tüketici mağazasına hem kurumsal hesaba hizmet edebilmesinin sebebi bu.
Stok, azaltılan bir sayı olarak değil hareketler ve rezervasyonlar olarak tutuluyor. Sepette bekletme, verilmiş sipariş, depolar arası transfer ve iade; aynı fiziksel miktar üzerindeki dört farklı hak talebi ve tek bir sayaç bunları ne temsil edebiliyor ne de neden o değerde olduğunu açıklayabiliyor. Satılabilir miktar türetiliyor: eldeki miktardan açık rezervasyonlar düşülüyor. Rezervasyonların bir süresi var; terk edilmiş sepetlerin satılabilir stoğu sessizce tüketmesini engelleyen de bu.
Fazla satış bir yarış durumu ve yarışlar yazmanın gerçekleştiği yerde çözülmek zorunda. Rezervasyon, bir değeri okuyup sonra yazan uygulama kodunda değil; çakışan durumu başarısız kılan kısıtla birlikte veritabanında alınıyor. Önce-oku-sonra-yaz sürümü testte doğru çalışır ve tam da platformun kurulduğu trafik altında yanlış çalışır.
Ödeme otorizasyonu, depo hazırlığı ve kargoya teslim; üçü de dışsal ve üçü de asenkron. Bu yüzden sipariş kendi durumunu tutuyor ve onlarınkiyle mutabakat kuruyor; herhangi birine yapılan bir çağrıyı doğrunun kaynağı saymıyor. Kısmi gönderim, siparişin altında satır grupları bazında sevkiyatları olan bir üst kayıt olmasının sebebi — ve bu yapı bir kez var olunca, üç satıcıya bölünen bir marketplace siparişi ile iki depodan çıkan bir B2C siparişi yapısal olarak aynı şey oluyor. Marketplace’in ayrı bir sipariş sistemine ihtiyaç duymamasının somut nedeni bu: bölünme, satıcılarla hiç ilgisi olmayan bir gerekçeyle zaten modeldeydi.
Satıcı panelleri de aynı karardan çıkıyor. Satıcı, senkron tutulması gereken kendi mağazasına sahip ayrı bir uygulama değil; ortak katalog ve kendisine ait sipariş satırları üzerinde kapsamlandırılmış bir görünüm alıyor.
Sipariş verme iki şeyi kaydediyor: rezervasyon ve siparişin kendisi. Geri kalan her şey — stok hareketinin işlenmesi, onay bildirimleri, faturalama, marketplace siparişinde satıcı bildirimi — ortaya çıkan olayın tüketicisi. Alternatifi, yani bir ödeme çağrısı ile bir kargo API’si boyunca veritabanı transaction’ını açık tutmak, ödeme adımının erişilebilirliğini bütün dış sistemlerin erişilebilirliğinin çarpımı hâline getirir; yavaşlayan bir kargo uç noktası mağazayı durdurur.
Olay, siparişle aynı transaction’da yazılıyor ve oradan dağıtılıyor; böylece commit’in hemen ardından ölen bir süreç bile sonraki işleri üretmiş oluyor. Tüketiciler idempotent, çünkü aynı olayı birden fazla kez görecekler; bu, düzenin bedeli ve alternatifinden ucuz.
Katalog gezinmesi ezici çoğunlukla okuma trafiği ve bir an öncesine ait veriye tahammül ediyor. Ödeme adımı etmiyor: paraya ya da stoğa karar veren her şey primary’den okuyor. Bu yüzden replica kararı bağlantı seviyesinde sessizce uygulanan bir ayar değil, sorgu bazında ve açıkça verilen bir karar — aksi hâlde bir stok kontrolü replica’ya düşer ve aynı ürün iki kez satılır. Hangi okumaların bayat olabileceği konusunda açık olmak, read replica’yı aralıklı ve tekrar üretilemeyen hataların kaynağı olmaktan çıkarıp bir ölçekleme aracı yapan şey.
Markaya özel vitrinler platformun çatallanmış kopyaları değil, aynı ticaret API’sine bakan ayrı ön yüzler. Bir vitrinin markaya göre şekillenirken çekirdeğin kurulum başına ayrışmamasını sağlayan bu. Beraberinde gelen kısıt ise şu: kampanya ve promosyon hesabı sunucu tarafında kalıyor. Tarayıcıda hesaplanan bir indirim, müşterinin seçebileceği bir indirimdir; vitrin fiyatın ne olduğunu soruyor ve cevabı gösteriyor — hiçbir zaman kendisi türetmiyor.
Eğitim
Kurs, canlı ders, mentorluk, sertifika ve kurumsal eğitimi tek platformda toplayan öğrenme ürünümüz. MicroFrame üzerinde geliştirildi; henüz yayında değil.
Yazılım Platformu
MicroFrame, yazılım ekipleri için hazır temel: kimlik, kiracı yönetimi, ödeme, abonelik, bildirim ve denetim kaydı hazır bileşenler olarak, bulutta ya da kendi sunucunuzda.
Tüketici ve Aile
Hamilelikten ilk adımlara kadar anıların, aile albümünün, ziyaretçi notlarının ve davetiyelerin biriktiği bebek sayfası. Web, iOS ve Android'de canlı; MicroFrame üzerinde, ilk commit'ten yaklaşık dört ayda yayına çıktı.
Fikirlerinizi hayata geçirmek için size nasıl yardımcı olabileceğimizi konuşalım.