FuelBuddy'de, franchise operatörlerinin bölgesel merkezlerini, envanterlerini ve teslimat filolarını yönetmek için kullandığı Franchise Uygulamasında çekirdek bir mühendistim.
Neler geliştirdim
- Canlı kamyon takibi: Filo konumlarını bir yoklama aralığında gösteren etkileşimli bir Google Maps modülü geliştirdim; operatörlere kamyon hareketleri ve sevkiyat durumları hakkında sürekli görünürlük kazandırdı.
- GraphQL API'leri ve önbellekleme: urql üzerinden Hasura GraphQL motorunu kullanarak veri API'lerini geliştirdim; normalleştirilmiş bir istemci tarafı önbellek ve süre dolumunda otomatik token yenileme ile birlikte.
- İş akışı sadeleştirmesi: Envanter mutabakatı ve sürücü ataması dahil çok adımlı operasyonel görevleri, operasyonel hataları azaltan sadeleştirilmiş arayüzlere dönüştürdüm.
Neden önemliydi
Filo takibi, sevkiyat lojistiğini daha öngörülebilir hale getirdi ve kamyon rölanti süresini azalttı. Sadeleştirilmiş atama ve envanter iş akışları, franchise merkezleri genelinde operasyonel hataları azalttı.
Burada "Canlı" Aslında Ne Anlama Geliyor
Kamyon haritası, aynı istemci uygulamanın başka yerlerinde abonelikler için hazır olsa bile (graphql-ws yapılandırılmış ve sipariş durumu güncellemeleri için kullanılıyor, sadece bu belirli harita için değil), bir GraphQL abonelik değil, bir yoklama aralığında güncelleniyor. Bu, bir gözden kaçırma değil, bilinçli bir sunucu maliyeti ödünleşimiydi: bir abonelik, istemci onu açık tuttuğu sürece sunucuda kalıcı bir bağlantıyı açık tutar, ve her sevkiyatçının vardiyası boyunca saatlerce açık bırakılan bir harita ekranı, tek seferlik bir sipariş durumu güncellemesinden çok daha ağır, çok daha uzun ömürlü bir bağlantı yüküdür. Yoklama, bu bağlantıyı tamamen açık tutmaktan kaçınıyor, bunun yerine periyodik istek/yanıt döngüleriyle değiş tokuş ediyor.
Atama ve Envanter, Daha Ayrıntılı
Sürücü ataması, sadece tek bir "ata" eylemi değil, tekli, toplu, yeniden atama ve atamayı kaldırma akışlarını kapsıyor. Envanter takibi, özel olarak yakıt tankerleri için stok bakiyelerini izliyor; özel stok bakiyesi sorguları ve günlük tabloları ile birlikte, genel bir parça envanteri değil gerçek bir operasyonel veri modeli.
Veri Modeli ve Ölçek
- urql'nin normalleştirilmiş önbelleği artı 401/süresi dolmuş token yanıtlarında otomatik olarak yenilenen bir Firebase token kimlik doğrulama katmanı; böylece süresi dolmuş bir oturum, bir sevkiyatçıyı görev ortasında kesintiye uğratmıyor.
- Playwright, giriş ve sipariş yönetimini uçtan uca kapsıyor; uygulamadaki diğer her ekranın dayandığı iki akış.
Stack
Vue 3, Vite, Pinia, Hasura'ya karşı urql, Firebase kimlik doğrulaması, Google Maps, testler için Playwright.