CORPORATE PROJECT
ABC Logistics: Gerçek Zamanlı GIS Takip Platformu (Abc Logistics)
Lider Geliştirici olarak mikro-frontend ve gerçek zamanlı GIS mimarisiyle operasyon ve mobil modülleri birleştirdim.
ENGINEERING IMPACT
Measured scope and outcomes
- Coğrafi veri kaynakları
- 4 sağlayıcı
- Operasyon kapsamı
- Rezervasyon, depo ve talep
- Saha deneyimi
- Gerçek zamanlı mobil takip
- Teslimat otomasyonu
- Bitbucket Pipelines
Operasyon görünürlüğü için entegre edilen harita ve konum kaynakları.
Bağımsız evrilebilen mikro-frontend modülleri.
React Native, REST API ve harita entegrasyonlarıyla.
Tekrarlanabilir CI/CD akışı.
Hızlı Özet
- Rol: Lider Geliştirici & Ön Yüz Proje Yöneticisi
- Süre: Ocak 2023 – Ekim 2024 (1 yıl 10 ay)
- Modüller: Kimlik, Operasyon Takibi, Rezervasyon, Depo, Talep Yönetimi
- Gerçek zamanlı: WebSocket yayınları + olay güdümlü durum akışları
- GIS: OpenStreetMap + Google Maps + Mapbox (çok sağlayıcı)
- CI/CD: Bitbucket Pipelines, Docker, mavi-yeşil, onay kapıları
- Mobil: React Native (iOS/Android)
- Veri/ML: MongoDB, PostgreSQL/PostGIS, Elasticsearch, Django API, OSRM, scikit-learn/PyTorch
- Teslimat: Self-hosted GitLab CE pipeline → EC2; sürekli güvenlik taraması
Teknik vaka çalışmaları
Backend ve frontend deneyimleri ayrı playbook serilerine ayrıldı (Case Studies):
- Logistics Micro Frontend Platform
- Fleet Wait Geofence
- Partner Ferry Booking Desk
- Logistics Ops Control Plane
- Logistics Polyglot Data Platform
- Fleet Route Intelligence ML
- Logistics Django API & Delivery
Lojistik Sektörü Dijital Dönüşüm Platformu: Mikro-frontend Mimarisi ile Kurumsal Ölçek
ABC Logistics için, operasyonun farklı parçalarını tek bir platformda birleştiren gerçek zamanlı lojistik takip altyapısı geliştirdim. Hedef, dağıtık süreçleri merkezi bir görünürlükle yönetebilmek ve saha ile merkez arasındaki veri akışını eşzamanlı hale getirmekti.
Mikro-frontend yaklaşımını, alan sınırlarını netleştirip ekiplerin bağımsız dağıtım yapabilmesini sağlamak için seçtik. Gerçek zamanlı GIS akışını bu modüler yapıya entegre ederek hem web hem mobil tarafta tutarlı bir takip deneyimi oluşturduk.
Problem ve Kısıtlar
Problem
- Operasyon süreçleri farklı sistemlere dağılmıştı; gerçek zamanlı görünürlük yoktu.
- Araç ve sevkiyat takibi manuel ilerliyordu; müşteri bilgilendirmesi gecikiyordu.
- Mobil erişim sınırlıydı; saha ekipleri güncel veriyle çalışamıyordu.
- Veri analizi ve raporlama, stratejik kararları desteklemekte yetersizdi.
Kısıtlar
- Çoklu GIS sağlayıcısı ve farklı API davranışları
- Yüksek veri hacmi ve anlık konum güncellemeleri
- Modüller arası bağımlılıkların azaltılması ihtiyacı
- eski sistemlerle entegrasyon ve ekip kapasitesi sınırları
Çözüm Özeti
- Kimlik ve Yetkilendirme: JWT tabanlı oturum yönetimi ve RBAC ile merkezi kimlik modülü kuruldu.
- Operasyon Takibi: Araç ve sevkiyat akışları gerçek zamanlı izlenebilir hale getirildi.
- Rezervasyon ve Planlama: Kapasite, zamanlama ve kaynak planlama tek panelde toplandı.
- Depo Yönetimi: Stok akışı ve depo hareketleri operasyon ekranlarına bağlandı.
- Talep Yönetimi: Veri kazıma + ML hattı ile kapasite/talep tahminleri desteklendi.
Mimari Genel Bakış
- MFE Bileşimi: Kabuk uygulama + Module Federation uzak modüller ile çalışma zamanı birleştirme.
- Kimlik Doğrulama: Merkezi kimlik modülü; tüm modüller tek oturumla erişilebilir.
- Paylaşılan Kütüphaneler: arayüz kiti ve ortak yardımcı paketler; sürüm uyumu için semantik sürümleme.
- Çalışma Zamanı Yükleme: Uzak giriş noktaları ortam bazlı yüklenir; özellik bayrağı ile kademeli açılım.
- Hata Geri Dönüşü: Uzak modüle ulaşılamadığında modül bazlı kademeli bozulma.
Gerçek Zamanlı Takip ve GIS
GPS cihazlarından gelen konum verileri arka uçta doğrulanır, Redis üzerinden önbelleğe alınır ve WebSocket kanallarıyla istemcilere yayınlanır. Olay güdümlü akış sayesinde sipariş durumları ve araç hareketleri eşzamanlı görünür.
GIS tarafında OpenStreetMap, Google Maps ve Mapbox birlikte kullanıldı. Bu yapı tedarikçi kilidi riskini azaltırken kullanım senaryosuna göre maliyet/performans dengesini optimize etti. Yük altında harita yoğunluğunu azaltmak için kümeleme, görünüm alanı filtreleme ve coğrafi sınırlandırma uygulandı. Ölçek artışında WebSocket ağ geçitleri yatay ölçeklenebilir şekilde kurgulandı (metrik eklenebilir: araç sayısı, olay frekansı, eş zamanlı kullanıcı).
DevOps ve Sürüm Stratejisi
CI/CD hattı Bitbucket Pipelines + Docker ile kuruldu. Ortam ayrımı (geliştirme/ön üretim/üretim) netleştirildi; ön üretimde sürüm adayı doğrulandıktan sonra üretime geçildi. Mavi-yeşil dağıtım ile kesintisiz sürüm geçişleri hedeflendi, kritik sürümler için manuel onay kapıları kullanıldı.
Etki / Sonuçlar
- Operasyonel verimlilik artışı- %40 (doğrulanırsa eklenebilir)- (dönem: [X], baseline: dönüşüm öncesi manuel süreçler, ölçüm yöntemi: süreç süreleri + iş gücü saatleri)
- Müşteri memnuniyeti artışı- %35 (doğrulanırsa eklenebilir)- (dönem: [X], ölçüm yöntemi: CSAT/NPS)
- Operasyon maliyeti düşüşü- %25 (doğrulanırsa eklenebilir)- (dönem: [X], baseline: finansal gider raporları)
- Erişilebilirlik- %99.9 (doğrulanırsa eklenebilir)- (dönem: [X], ölçüm yöntemi: CloudWatch + uptime izleme)
- Dağıtım sıklığı- haftalıktan günlük- (doğrulanırsa eklenebilir)- (ölçüm yöntemi: CI/CD sürüm logları)
- Mobil indirme- 10 bin/ilk 3 ay (doğrulanırsa eklenebilir)- (ölçüm yöntemi: App Store/Play Console raporları)
Temel Ödünleşimler
- Mikro-frontend mimarisi bağımsız dağıtım sağladı, ancak sürüm uyumu ve ortak bağımlılık yönetimi operasyonel yük getirdi.
- GIS sağlayıcı karması tedarikçi kilidi riskini azalttı fakat bakım maliyeti ve API farklılıkları arttı.
- Gerçek zamanlı akışlar hız sağladı; idempotency, yeniden deneme ve tutarlılık yönetimi ekstra karmaşıklık oluşturdu.
Teknoloji Yığını (Kategoriler)
- Ön Yüz: React, TypeScript
- MFE: Module Federation, Kabuk + Uzak modül yapısı
- Gerçek zamanlı: WebSockets, olay güdümlü akış
- GIS: OpenStreetMap, Google Maps, Mapbox
- Mobil: React Native
- Veri/ML: MongoDB, Redis, Random Forest
- DevOps: Bitbucket Pipelines, Docker, AWS
Anahtar Teknolojiler
React, Micro-Frontends, Module Federation, WebSockets, GIS, React Native, AWS, CI/CD, MongoDB, Redis, OpenStreetMap, Mapbox
Öğrenimler
- DDD tabanlı modül sınırları, mikro-frontend ölçeğinde operasyonel maliyeti ciddi ölçüde düşürüyor.
- Gerçek zamanlı akışlarda hız kadar tutarlılık ve izlenebilirlik de kritik.
- GIS sağlayıcı karması maliyet/performans esnekliği sağlıyor ancak operasyonel koordinasyon gerektiriyor.
SSS
Neden mikro-frontend tercih edildi?
Operasyon modüllerinin bağımsız geliştirilebilmesi ve ayrı dağıtım yapabilmesi için.
Module Federation’ın avantajı neydi?
Çalışma zamanında modül yükleme ve sürüm bağımsızlığı sağlayarak modüler yapıyı güçlendirdi.
Çoklu GIS sağlayıcısı neden kullanıldı?
Tedarikçi kilidi riskini azaltmak ve farklı senaryolarda maliyet/performans optimizasyonu yapmak için.
Gerçek zamanlı akış nasıl ölçeklendi?
WebSocket ağ geçitleri yatay ölçeklenebilir kurgulandı; önbellek ve hız sınırlama ile yük dengelendi.
Gerçek zamanlı tutarlılığı nasıl yönetildi?
Idempotency, yeniden deneme politikaları ve olay güdümlü dengeleme stratejileri ile.
CI/CD süreci nasıl yönetildi?
Staging doğrulaması, manuel onay kapıları ve mavi-yeşil dağıtım ile kesintisiz sürümleme sağlandı.
Mobil uygulamada çevrimdışı davranış nasıl kurgulandı?
İstemci tarafı kuyruklama ve yeniden senkronizasyon yaklaşımıyla bağlantı geri geldiğinde veri gönderimi sağlandı.
İlgili Projeler
ENGINEERING KNOWLEDGE GRAPH
Decision notes derived from this case study
The architecture, delivery, and product decisions in this case study are documented as anonymised Production Engineering Notes derived from real production experience.
- Teknik Vaka: Logistics Polyglot Data Platform
ERP MySQL’den PostGIS’e temizleme, MongoDB telemetri, Elasticsearch arama ve frontend’e temiz okuma sözleşmeleri.
- Teknik Vaka: Fleet Route Intelligence ML
EDA, scikit-learn/PyTorch, OSRM tercih edilen rota, yakıt/km/gecikme ve harita UI köprüsü.
- Teknik Vaka: Logistics Django API & Delivery
Django analiz API’si, GitLab CE → EC2 teslimatı ve sürekli güvenlik taraması.
- Teknik Vaka: Fleet Wait Geofence
Telemetri + yapılandırılabilir daire geofence ile bekleme gerçeğinin haritada kurulması.