İki taraf aynı anda güncel görmeli
Restoran paneli ve kurye uygulaması ayrı cihazlarda çalışıyor; sipariş durumu SignalR üzerinden ikisine de aynı anda ulaşmalı, biri diğerinden geç haber almamalı.
Bir sipariş restoran panelinden, Trendyol'dan, Yemeksepeti'nden ya da Getir'den ayrı ayrı geliyor; hangi kuryenin hangi paketi taşıyacağına da restoran ya da admin panelden elle karar veriyor. Kurjet'i, bu siparişleri tek panelde toplayan, kurye vardiyasını sahada konumla başlatan ve teslimatı adım adım izleten bir sistem olarak kurduk.
Trendyol, Yemeksepeti ve Getir siparişleri backend'e ayrı kuyruk tüketicileriyle düşüyor; restoran panelinden girilen siparişler de aynı akışa katılıyor. Hangi kuryenin hangi paketi taşıyacağını sistem otomatik seçmiyor — restoran ya da admin panelden elle atıyor. Sipariş sayısı arttıkça bu üç kanalı tek yerde görüp doğru kuryeye yönlendirmek, işin kendisi hâline geliyor.
Restoran paneli ve kurye uygulaması ayrı cihazlarda çalışıyor; sipariş durumu SignalR üzerinden ikisine de aynı anda ulaşmalı, biri diğerinden geç haber almamalı.
Kurye uygulaması hareket halindeyken çalışmak zorunda; zayıf şebekede konum güncellemesi gecikebiliyor ya da tekrar gönderilebiliyor. İstemci eski ve yinelenen konumları eleyerek göstergeyi tutarlı tutuyor.
Kurye vardiyayı başlatmak istediğinde restorana yakın olmalı; PostGIS ile hesaplanan mesafe tanımlı yarıçapın (varsayılan 500 metre) dışındaysa vardiya başlamıyor.
Sipariş restoran panelinden ya da Trendyol, Yemeksepeti ve Getir entegrasyonlarından kuyruklarla sisteme düşer; mutfak hazırlığını işaretler, restoran ya da admin paketi bir kuryeye elle atar. Kurye tek dokunuşla yola çıktığını, sonra teslim ettiğini işaretler; her adım restoran panelinde anında görünür.
{ "id": "6f2b1e2a-••••-••••-••••-••••••••••••", "restaurantId": "9c4a7d10-••••-••••-••••-••••••••••••", "courierId": "3d8e5f21-••••-••••-••••-••••••••••••", "status": "OnTheWay", "requestFrom": "Trendyol", "address": "Örnek Mah. Örnek Sk. No:1, Kadıköy", "createdAt": "2026-03-14T15:22:00Z", "pickedUpAt": "2026-03-14T15:41:00Z"}{ "id": "6f2b1e2a-••••", "status": "OnTheWay", "requestFrom": "Trendyol", "pickedUpAt": "15:41" }
Vardiyaya 18 saatlik bir üst sınır koyduk, sonra şimdilik devreden çıkardık. Aynı dönemde eklediğimiz önbellek katmanını da sistemden çıkardık.