Sportoonline / QuickEcommerce — Çok Kanallı E-Ticaret Platformu
Laravel API, Next.js müşteri vitrini ve yönetim paneli ile Flutter mobil uygulamayı birleştiren çok mağazalı spor ve yaşam e-ticaret platformu.

Açıklama
Laravel API, Next.js müşteri vitrini ve yönetim paneli ile Flutter mobil uygulamayı birleştiren çok mağazalı spor ve yaşam e-ticaret platformu.
Vaka çalışması
Zorluk
Ürünlerin büyük kısmı tedarikçilerin kendi sitelerinde de satıldığı için fiyat ve stok gün içinde değişiyordu; bazı kaynaklar yalnız var ya da yok bilgisi veriyordu. Elle güncellenen katalog yanlış fiyata ve olmayan ürünün satılmasına açıktı, birden fazla satıcının ödemesinin de ayrıştırılması gerekiyordu.
Yaklaşım
Laravel API üzerinde tedarikçi altyapısına göre çözümleyicili günlük eşitleme, yüzde 30 değişim koruması ve sipariş sonrası stok teyidi kuruldu. Ödeme iyzico pazaryeri modunda satıcı bazında dağıtıldı; Next.js vitrin, yönetim paneli ve Flutter uygulama aynı API'ye bağlandı.
Sonuç
Sportoonline canlı satış yapıyor; Eylül 2026 itibarıyla 32 mağaza ve 6.686 yayında ürün listeleniyor. Fiyat ve stok her gün otomatik güncelleniyor, tükenmiş ürün satışında iade insan müdahalesi beklemeden başlıyor.
Araçlar
Laravel, PHP, Next.js, React, TypeScript, Flutter, MySQL, Tailwind CSS, Redux Toolkit, React Query
Öne Çıkan Özellikler
32 satıcı mağazası, 6.686 yayında ürün, 9 ana kategori
iyzico pazaryeri modu ile satıcı bazlı ödeme dağıtımı
20+ tedarikçi kaynağından günlük fiyat ve stok eşitlemesi
Yüzde 30 üzeri fiyat değişimini reddeden veri koruması
Ödemeden 30 dk sonra stok teyidi ve otomatik iade
Next.js 16 vitrin, ayrı yönetim paneli, Flutter uygulama
Kupon, paket, puan programı, cüzdan ve fiyat düşüş alarmı
Geliver kargo, PayTR ve kapıda ödeme seçenekleri
Google ve Cimri ürün beslemeleri, ürün site haritaları
Tasarım Öne Çıkanları
Belirsiz stok sinyalinde sistem karar vermez, yöneticiye özet gönderir
Eşitleme yalnız fiyat ve stok günceller, kataloğa kendiliğinden ürün eklemez
Web ve mobil aynı API ve aynı ticaret kurallarını kullanır
Vitrin sunucu tarafında üretilir; SEO ve hızlı ilk açılış için
Ürün sayfasında anlık inceleyen kişi sayısı ve sepette birlikte alınan öneriler
Detaylar
Sportoonline, spor beslenmesi, fitness ekipmanı, outdoor ve spor giyim kategorilerinde Türkiye pazarına satış yapan çok satıcılı bir e-ticaret pazaryeridir. Altında, kendi geliştirdiğimiz QuickEcommerce altyapısı çalışır: Laravel API, Next.js müşteri vitrini, ayrı bir Next.js yönetim paneli ve Flutter müşteri uygulaması. Her satıcı kendi mağazasıyla listelenir, ödeme satıcı bazında ayrışır ve ürün fiyat ile stokları tedarikçi kaynaklarından her gün otomatik güncellenir.
Proje bağlamı ve ihtiyaç
Bir pazaryerinin en zor kısmı vitrin değil, arkasındaki veridir. Sportoonline'da ürünlerin büyük bölümü farklı tedarikçilerin kendi sitelerinde de satılıyor; fiyat sık değişiyor, stok gün içinde tükenebiliyor. Bazı tedarikçiler stok adedi değil, yalnız var ya da yok bilgisi veriyor. Elle güncellenen bir katalog bu hızda doğru kalamaz; yanlış fiyat zarar, olmayan ürünün satılması ise iptal ve müşteri kaybı demektir. Bunun yanında birden fazla satıcının ödemesinin ayrı hesaplara dağıtılması, kargo, iade ve kampanya akışlarının da aynı sistemde yürümesi gerekiyordu.
Çözüm ve kapsam
Müşteri vitrini
Next.js 16 ile sunucu tarafında üretilen vitrinde müşteri; kategori, marka ve mağaza sayfalarında gezinir, normalize edilmiş aramayla ürün bulur ve ürün detayında varyant, stok, değerlendirme ve o anda ürünü inceleyen kişi sayısını görür. Sepet ve ödeme akışının yanında kampanyalar, kuponlar, ürün paketleri, puan programı, cüzdan, favoriler, sipariş takibi, iade ve değişim talebi, mesajlar ve destek bölümleri bulunur. Satıcı olmak isteyenler başvuruyu doğrudan siteden yapar. Mesafeli satış sözleşmesi, KVKK, kargo ve iade politikaları gibi yasal metinler ayrı sayfalarda yayındadır.
Mobil uygulama
Flutter ile geliştirilen müşteri uygulaması aynı API'yi kullanır: ana sayfa, kategoriler, ürün detayı, sepet ve ödeme, teslimat adresleri, favoriler, siparişler, cüzdan, kuponlar, mağaza bilgisi, canlı destek ve Firebase ile anlık bildirimler. Uygulama aynı kod tabanından web için de derlenebilir.
Satın alma sonrasını otomatikleştiren işler
Platform satışın öncesi ve sonrasındaki hatırlatmaları kendisi yürütür: terk edilen sepet hatırlatmaları, favorideki ürünün fiyatı düştüğünde uyarı, tüketilen ürün için yeniden sipariş hatırlatması ve teslimattan sonra değerlendirme isteği. Sepette, birlikte satın alma verisinden üretilen ürün önerileri gösterilir.
Yönetim paneli
Ayrı bir Next.js uygulaması olan panelde ürünler, kategoriler, markalar, özellik ve dinamik alan tanımları, birimler ve etiketler yönetilir. Siparişler, müşteriler, satıcılar ve mağazalar, mağaza duyuruları, kurye kayıtları, kuponlar, promosyonlar, ürün paketleri, puan programı, cüzdan ve finansal kayıtlar aynı panelden izlenir. Ödeme sağlayıcısı ayarları, ödeme kayıtları, SMS sağlayıcısı, bildirimler, blog ve sayfalar, slider, terk edilen sepetler, destek talepleri ve geri bildirimler de buradadır. Rol ve yetki tanımları, personel hesapları, raporlar ve analiz ekranları ile tedarikçi kaynaklarının sağlık durumunu gösteren ayrı bir izleme sayfası panelin parçasıdır.
Teknik mimari
Çekirdek, PHP 8.2 ve Laravel 12 üzerinde çalışan bir API'dir; müşteri, satıcı, yönetici ve kurye için ayrı rota grupları vardır. Kimlik doğrulamada Sanctum, sosyal girişte Socialite kullanılır; veri MySQL'de tutulur. Uzun süren işler kuyruğa alınır, düzenli işler zamanlanmış komutlarla yürür. Müşteri vitrini Next.js 16, React 19, TypeScript ve Tailwind CSS ile; durum yönetimi Redux Toolkit, Zustand ve React Query ile kuruldu.
Tedarikçi fiyat ve stok eşitlemesi
Platformun ayırt edici parçası budur. Yirmiyi aşkın aktif tedarikçi kaynağı her sabah otomatik taranır; WooCommerce, Shopify, OpenCart, Ticimax, IdeaSoft ve Odoo gibi altyapılar için ayrı çözümleyiciler vardır. Eşitleme yalnız fiyat ve stok günceller, yeni ürün eklemez; yüzde 30'un üzerindeki fiyat değişimleri hatalı veri sayılıp uygulanmaz. Her kaynağın son başarılı çalışması izlenir, tazeliğini yitiren kaynak alarm üretir.
Sipariş sonrası stok teyidi ve otomatik iade
Yalnız var ya da yok bilgisi veren kaynaklarda, ödeme alındıktan 30 dakika sonra her sipariş satırı için tedarikçi ürün sayfası yeniden kontrol edilir. Ürün kesin olarak tükenmişse sipariş iptal edilir ve ödeme iyzico üzerinden otomatik iade edilir; iade, panelde iade edilenler listesinde görünür. Sinyal belirsizse sistem karar vermez, yöneticiye özet bildirim gönderir.
Operasyon ve SEO
Bekleyen ödemelerin mutabakatı, ödeme bütünlüğü denetimi, ödenmemiş siparişlerin temizlenmesi, görseli eksik ürünlerin karantinaya alınması, kargo süresi raporları ve sunucu hata alarmı zamanlanmış komutlarla yürür. Ürün ve kategori sayfaları sunucu tarafında üretilir; ürün site haritaları, llms.txt, IndexNow ve ürün SEO kalite denetimi bulunur.
Entegrasyonlar
- iyzico pazaryeri modu: müşteri tutarı alt üye işyeri olarak satıcı bakiyesine, komisyon platforma ayrılır.
- PayTR ve kapıda ödeme: ödeme sayfasında ek seçenekler.
- Geliver: kargo etiketi ve takip numarası.
- Firebase: mobil anlık bildirimler.
- Google ve Cimri ürün beslemeleri: fiyat karşılaştırma ve alışveriş reklamları için XML.
- Telegram: tedarikçi eşitleme ve stok teyidi alarmları.
Sonuç ve bugün
Sportoonline, sportoonline.com adresinde canlı satış yapıyor. Eylül 2026 itibarıyla 32 satıcı mağazası ve 6.686 yayında ürün, 9 ana kategoride listeleniyor. Fiyat ve stok her gün otomatik güncelleniyor, stokta olmayan ürünün satılması durumunda iade insan müdahalesi beklemeden başlıyor. Aynı QuickEcommerce altyapısı, tek satıcılı mağazalar ve başka sektörlerdeki pazaryerleri için de kurulabilecek şekilde tasarlandı.