Güvenlik

Gerçek Zamanlı Kargo Takibi: Sepeti Kurtaran Mimari

Bir kullanıcı “Sipariş Ver” butonuna bastığı an iş bitmiyor. Tam tersine, asıl stres o anda başlıyor. Paket nerede? Sürücü yolda mı? Yoksa sipariş bir köşede unutuldu mu? İşin aslı şu: belirsizlik, satışın sessiz düşmanı. Geçen yıl İstanbul’da bir e-ticaret ekibiyle konuşurken bunu yine gördüm — ekran parlak, ürün güzel, ödeme akıyor; ama teslimat tarafı sisli olunca kullanıcı frene basıyor. Hani insan alışveriş yaparken içi rahat olsun istiyor ya, mesele tam olarak bu.

Bu yazıda, gerçek zamanlı teslimat takibinin neden sadece “güzel bir özellik” değil de doğrudan gelir etkisi yaratan bir ürün kararı olduğunu kendi gözümden anlatacağım. Kaynak hikâyedeki sistem WebSocket, Vue ve Laravel üçlüsüyle kurulmuştu (yanlış duymadınız). Siz hiç denediniz mi? Ben de bu konuyu yeniden ele alırken sadece teknik parçaları değil, kullanıcı psikolojisini, operasyon yükünü ve işin pratikteki zorluklarını da masaya koyacağım.

Kısa bir not düşeyim buraya.

💡 Bilgi: Gerçek zamanlı takip sistemleri çoğu ekipte “nice-to-have” diye başlar. Sonra support hattındaki çağrılar artar, iptaller yükselir ve bir bakmışsınız o özellik direkt gelir koruyan katmana dönüşmüş.

Neden Sipariş Belirsizliği Satışı Delip Geçiyor?

E-ticarette müşteri sadece ürünü almıyor. Bir vaat satın alıyor. O vaat zamanında teslimatla güçleniyor; ama bilgi eksikse hız bile yetmiyor. Benzer bir durumu 2023’te Ankara’da küçük bir pazaryeri projesinde görmüştüm: kuryeler aslında fena çalışmıyordu, ama kullanıcı uygulamada hiçbir hareket görmeyince iki dakika geçmeden destek hattına yazıyordu. Garip geliyor değil mi? İnsan zihni boşluğu kötü senaryoyla dolduruyor — hep böyle.

Bu tip platformlarda sorun genelde ürün kalitesinden çok görünürlük eksikliği oluyor. Kullanıcı “siparişim kayboldu mu?” diye düşünmeye başladığında güven çatırdıyor. Güven gidince dönüşüm de gidiyor. Geçen hafta test ettiğim benzer bir akışta şunu net hissettim: harita üzerinde tek bir noktanın birkaç piksel ilerlemesi bile müşteriyi sakinleştiriyor. Küçük bir animasyon gibi duruyor, evet. Ama psikolojik etkisi baya büyük — şaşırdım açıkçası.

Aslında burada kritik nokta şu: işletme tarafı çoğu zaman operasyonu görüyor ama kullanıcı aynı tabloyu göremiyor. Müşteriye yalnızca onay e-postası atmak artık yeterli değil. Hele hızlı teslimat vaadi olan işlerde hiç yetmez. Şöyle düşünün — restoranınıza gelen misafire “yemek hazırlanıyor” demek başka şeydir, mutfağın camını açıp süreci göstermek başka şey (buna dikkat edin)

Kısa bir not düşeyim buraya.

Kayıp sadece sepet değil

Sipariş iptali tek zarar değildir. Destek ekibi yorulur, kurye performansı ölçülemez hale gelir, yönetim yanlış yere yatırım yapar (yanlış duymadınız). Açık konuşayım: ölçemediğiniz şeyi iyileştiremiyorsunuz da. Bu yüzden gerçek zamanlı takip sistemi biraz vitrin gibi görünse de arka planda ciddi operasyon verisi topluyor — ve bu veri zamanla altın değer taşıyor.

Belirti Kullanıcıya etkisi İşletmeye etkisi
Sipariş durumu görünmüyor Endişe ve iptal eğilimi Daha fazla destek talebi
Tahmini varış süresi yok Bekleme hissi uzuyor Düşen dönüşüm oranı
Kuryenin konumu bilinmiyor Güven kaybı oluşuyor Rota analizi yapılamıyor
Manuel durum güncellemesi var Bilgi gecikmeli geliyor Operasyon körleşiyor

Mimariyi Kurarken Asıl Mesele Neydi?

Haritaya aşık olmak. İşte böyle sistemlerde yapılan ilk hata bu oluyor. Google Maps entegrasyonu önemli tabii,. Harita tek başına çözüm değil — veri akışı düzgün değilse gösterdiğiniz şey sadece renkli bir ekran olur, o kadar. Viaduct örneğindeki temel ihtiyaç şuydu: sürücünün konumunu düzenli almak, bunu güvenli biçimde saklamak. Kullanıcının ekranına gecikmesiz taşımak. Neden önemli bu? Basit söyleniyor, ama pratikte epey karmaşıklaşıyor (evet, doğru duydunuz)

2024 baharında İzmir’de küçük bir SaaS ekibi için benzer mantığı kurcalarken şunu fark ettim: konum verisini her saniye göndermek kulağa havalı geliyor, ama hem pil hem ağ tüketimi açısından tatsız sonuçlar çıkarabiliyor. Yani “daha sık veri = daha iyi deneyim” her zaman doğru değil. Bazen iki saniyelik gecikme kabul edilebilirken sistemin stabil kalması çok daha kıymetli oluyor. Bunu geç öğrendik, biraz acı oldu.

İşte tam da bu noktada devreye giriyor.

<?php
class DriverLocationController extends Controller
{
public function updateLocation(UpdateLocationRequest $request): JsonResponse
{
$driver = $request->user();
$validated = $request->validated();
$location = DriverLocation::create([
'driver_id' => $driver->id,
'latitude' => $validated['latitude'],
'longitude' => $validated['longitude'],
'accuracy' => $validated['accuracy'],
'speed' => $validated['speed'] ? null,
'heading' => $validated['heading'] ? null,
'recorded_at' => Carbon::createFromTimestamp($validated['timestamp']),
]);
// aktif teslimata canlı durum gönder
if ($activeDelivery = $driver->activeDelivery) {
event(new DeliveryLocationUpdated($activeDelivery->id, $location));
}
return response()->json(['ok' => true]);
}
}

Bunu yaşayan biri olarak söyleyeyim, Burada güzel olan şey şu: API çağrısı ile gerçek zamanlı yayın birbirinden ayrılmış oluyor. Bu ayrım basit gibi durur ama ölçek büyüyünce hayat kurtarıyor. Bir de şu var — doğrulama katmanı olmazsa sahte ya da bozuk lokasyon verisi sisteme girer. Tüm harita deneyimini çöpe çevirir. Bunu test ortamında gördüm, inanın komik değil.

Neden WebSocket seçilir?

Pusula gibi düşünün. Polling yöntemiyle sürekli sunucuya sorup durmak yerine WebSocket açık bir kanal bırakıyor. Veri geldiğinde anında itiyor. Daha az gereksiz istek, daha düşük gecikme. Kağıt üstünde baya temiz duruyor.

Ama dürüst olayım — WebSocket her projeye sihirli değnek değil. Ağ kopmalarıyla uğraşıyorsunuz, bağlantı yeniden kurma mantığını halletmeniz gerekiyor ve bazı mobil cihazlarda davranışlar değişebiliyor, özellikle uygulama arka plana atılınca. Yani sağlam plan istiyor. Hmm, nasıl desem… “çalışır tabii ama dikkat et” türünden bir seçim. Daha fazla bilgi için Metal Gear Solid filmi geri döndü: Hollywood neden vazgeçmedi? yazımıza bakabilirsiniz. Daha fazla bilgi için AI ile Kurulan Uygulamalar Neden İşletmeleri Zorluyor? yazımıza bakabilirsiniz.

Kullanıcı Arayüzü Güveni Nasıl Satıyor?

Vue tarafı burada yalnızca ekran çizmek için kullanılmamıştı. Esas görevi belirsizliği azaltmaktı. Sipariş kartında statü değişiyorsa anında görünmeli, sürücünün yaklaşması minik hareketlerle hissettirilmeliydi — abartmadan. Çünkü bazen en iyi UX koca bir banner değil, küçücük bir durum mesajıdır.

Ne yalan söyleyeyim, Editör masasında bu haberi ilk gördüğümde aklıma 2022’de Bursa’da test ettiğim food delivery arayüzü geldi. Harita vardı, evet. Ama çok hantal çalışıyordu ve kullanıcıların gözünde “modern” görünmesine rağmen içeride ölü gibiydi diyeyim. Canlandıran şey teknik gösteriş değilmiş meğersem — ritimdi, yani ekranın nefes alıp vermesiydi. Bunu o zaman tam anlayamadım, sonradan oturdu kafaya. ChatGPT Pro’da Yeni Dönem: 100 Dolarlık Plan Ne Veriyor? yazımızda bu konuya da değinmiştik.

Kullanıcıya bilgi verirken amaç onu bombardımana tutmak değil, kafasındaki sis perdesini yavaşça dağıtmaktır.

Ekranda şunlar özellikle işe yarar:

  • Tahmini varış süresi yerine aralık vermek: “10–15 dakika” gibi.
  • Sürücü hareketini küçük güncellemelerle göstermek.
  • Status metinlerini teknik değil insani yazmak.
  • Kritik eşiklerde push veya in-app bildirim kullanmak.
  • Hata halinde sessizce bozulan ekran yerine açıklayıcı fallback göstermek.

Bence en güçlü detaylardan biri de status dilidir. “Out for delivery” — ki bu tartışılır — kulağa şirket içi jargon gibi geliyor — buna karşılık “Sürücü yolda” ya da “Teslimata çıkıldı” çok daha net çalışıyor. Bizim ekipte bunu hep tartışırdık; kimse kafa karıştıran mikro metinleri sevmez, gerçekten.

Dönüşümü Artıran Şey Koddan Fazlasıydı

Sistem sonunda %20 checkout artışı getirmiş olabilir. Ama bu sonuç tek başına kodun başarısı değildi. Burada ürün tasarımı ile operasyonun el sıkışması şarttı. Sadece backend çalışıyorsa yetmez; destek ekibi yeni akışı bilmeli, sürücüler konum paylaşmanın ne işe yaradığını anlamalı ve müşteri tarafındaki metinler sade olmalıydı. Bunların hepsi ayrı ayrı iş.

Bunu küçük startup ile enterprise arasında kıyaslayınca fark hemen çıkıyor. Küçük ekipte hız avantajınız var; bugünü kurtarırsınız, ama teknik borç da çabuk birikir — evet, biraz sert söyledim, ama gerçek bu. Enterprise tarafta ise onay süreçleri ağırdır, fakat loglama, izleme ve rol bazlı erişim çok daha olgun olur (ilk duyduğumda inanamadım)

Küçük startup için ne önemli?

  1. MVP odaklı olunmalı.
  2. Sadece en gerekli konum güncellemeleri alınmalı.
  3. Maliyet kontrolü yapılmalı — çünkü harita API’si şaka kaldırmaz.

Büyük organizasyonda ne değişir?

  1. Ayrıntılı audit log gerekir.
  2. SLA takibi devreye girer.
  3. Destek ekibinin dashboard’u ayrı tasarlanır.

Aslında, Neyse, uzatmayalım. İyi çalışan bir takip sistemi aslında üç şeyi aynı anda sağlar: güven verir, destek yükünü azaltır ve işletmenin hangi noktada aksadığını ortaya çıkarır. Bu üçünün birleşimi satışa direkt dokunuyor — çünkü insan kendini güvende hissederse ödeme butonuna çok daha rahat basıyor. Yazılımı Yapay Zekâya Bırakmak: Çok Ajanlı Sistemler yazımızda da bu konuya değinmiştik. Microsoft Foundry Mart 2026 Güncellemesi: Asıl Büyük Değişim Bu yazımızda da bu konuya değinmiştik.

💡 Bilgi: Gerçek zamanlı takip kurarken sadece canlı haritaya odaklanmayın. İyi loglama, retry stratejisi ve durum senkronizasyonu yoksa sistem ilk yoğun günde tökezler.

Peki Nerede Zorlanırsınız?

Hayal kırıklığının en büyük kısmı ölçeklenmede çıkıyor bence. Demo ortamında her şey pürüzsüz akar, ama sahaya çıkınca GPS sapmaları başlar, telefon bataryası düşer, ağ kesilir. Bir keresinde Kadıköy’de denediğimiz pilotta kurye köprüden geçerken konum zıplamaları yüzünden rota ekranı komik biçimde dalgalanmıştı. Gülünç görünüyordu ama aslında ciddi bir sorundu.

O gün öğrendiğim ders basitti: konum verisine körü körüne güvenilmez. Filtreleme şart. Hatta bazen son iki noktanın ortalamasını almak bile işleri toparlar — küçük ama etkili bir numara.

Bir de gizlilik boyutu var ki hafife alınmaz. Kullanıcıya neden veri topladığınızı açık söylemeniz lazım. Kurumsal tarafta hukuki onay süreçleri devreye giriyor, küçük ekipteyse en azından açık rıza metni düzgün olmalı. Yoksa teknik olarak parlak görünen proje pratikte duvara tosluyor — bunu gösteren örnekler az değil.

Nelerin üstüne mutlaka gidilmeli?

  • Lokal cache stratejisi — bunu es geçmeyin
  • Koptuğunda yeniden bağlanma davranışı
  • Zayıf ağda düşük frekans modu (bu kritik)
  • Anormal GPS sıçramalarını filtreleme
  • Müşteriye anlaşılır hata mesajları verme

Sıkça Sorulan Sorular

Gerçek zamanlı teslimat takibi neden dönüşümü artırır?

Vallahi, Kullanıcı belirsizlik yaşamazsa siparişi yarıda bırakma ihtimali düşer. Teslimat sürecini görmek güven hissi yaratır. Bu da ödeme kararını kolaylaştırır.

WebSocket mi polling mi daha iyi?

Eğer anlık güncelleme gerekiyorsa WebSocket genelde daha iyi çalışır. Polling basit olabilir ama gereksiz istek üretir,yük arttıkça maliyet çıkar.

Küçük bir e-ticaret sitesi böyle sistemi kurabilir mi?

Evet,ama kapsamı dar tutmak gerekir. Önce temel takip akışı,sonra ETA,ardından gelişmiş analizler eklemek genelde daha sağlıklı olur.

Sürücüden saniyelik konum almak şart mı?

Hani, Hayır,her projede şart değil. İki ya da beş saniyelik aralık çoğu senaryoda yeterlidir;önemli olan deneyimi bozmayacak dengeli ayardır.

Kaynaklar ve İleri Okuma

MDN WebSockets API Dokümantasyonu (ki bu çoğu kişinin gözünden kaçıyor)

Vue.js Resmi Rehberi
async ?>

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

← Onceki Yazi
ChatGPT Pro’da Yeni Dönem: 100 Dolarlık Plan Ne Veriyor?
Sonraki Yazi →
Yazılımı Yapay Zekâya Bırakmak: Çok Ajanlı Sistemler

Yorum Yaz

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
İçindekiler
← ChatGPT Pro’da Yeni Dönem: 100...
Yazılımı Yapay Zekâya Bırakmak... →
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri