Modern lojistik, zaman hassasiyeti gerektiren işlemler üzerine kuruludur, ancak geleneksel nakliye tedarik süreçleri birçok zorluk içerisindedir. Eski sistemler, parça parça çevrimdışı müzakerelere, belirgin olmayan spot piyasa fiyatlarına, manuel Lorry Receipt (LR) takibine ve depo kontrolleri ile saha sürücüleri arasındaki koordinasyon boşluklarına dayanmaktadır. Bu operasyonel darboğazları ortadan kaldırmak için, RoutePe Auto, yüksek verimli bir Transport Management Software olarak tasarlanmıştır. Platform, gerçek zamanlı spot teklif verme, kullanım başına ödeme ile kurumsal tedarik, araç keşfi, otomatik nakliye faturalama ve canlı çok noktalı izleme işlemlerini birleştirerek tek bir ekosistem sunmaktadır.
Aşağıda RoutePe Auto’nun Laravel ile arka uçta, React ile web ön uçta, bir yerel Mobil Uygulama ve MySQL ile işlem bütünlüğü sağlanarak nasıl tasarlandığına dair mimari bir inceleme bulacaksınız.
Architecture Overview
┌──────────────────────────┐
│ React Web Dashboard │
│ (Shippers / Logistics) │
└────────────┬─────────────┘
│
REST / WebSockets
│
┌──────────────────┐ ┌────────────▼─────────────┐ ┌──────────────────┐
│ Mobile App │◄────►│ Laravel API Gateway │◄────►│ MySQL Database │
│(Drivers/Fleet) │ │ & Execution Core │ │ (ACID Transactions)
└──────────────────┘ └────────────┬─────────────┘ └──────────────────┘
│
┌──────▼──────┐
│ Redis Queue │
└─────────────┘
System üç katmandan oluşmaktadır:
- Web Uygulama Katmanı: React ile inşa edilmiştir, yeni nesil nakliyecilere yükleri yaymak, teklifler incelemek, ihale süreçlerini yönetmek ve aktif rotaları izlemek için dinamik bir çalışma alanı sunmaktadır.
- Saha Uygulama Katmanı: Sürücüler ve filo operatörleri için tasarlanmış özel Mobil Uygulama sunarak gerçek zamanlı konum güncellemeleri, elektronik Teslimat Kanıtı (ePOD) imzalarının yüklenmesi ve iş göndermeleri almaktadır.
- Temel Motor: İş mantığını, eşzamansız görev dağıtımını, belge oluşturmayı ve bir ilişkisel MySQL veri deposuna karşı denge yönetimini gerçekleştiren güçlü bir Laravel REST API arka uç.
MySQL’de Veritabanı Tasarımı
Herhangi bir Transport Management Software için temel bir gereklilik, katı bir işlem bütünlüğüdür. Finansal cüzdan borçları, teklif kilitleri ve belge tahsisleri yarış koşullarına veya kısmi yazmalara dayanamamalıdır. MySQL, kilit yönetimi ve güvenilir ACID uyumluluğu için tercih edilmiştir.
Relational Schema Highlights
SQL
CREATE TABLE wallets (
id CHAR(36) PRIMARY KEY,
user_id CHAR(36) NOT NULL UNIQUE,
balance DECIMAL(12, 2) NOT NULL DEFAULT 0.00,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB;
CREATE TABLE loads (
id CHAR(36) PRIMARY KEY,
shipper_id CHAR(36) NOT NULL,
origin VARCHAR(255) NOT NULL,
destination VARCHAR(255) NOT NULL,
payload_weight DECIMAL(8,2) NOT NULL,
status ENUM('draft', 'bidding', 'assigned', 'in_transit', 'completed') DEFAULT 'draft',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_shipper_status (shipper_id, status)
) ENGINE=InnoDB;
CREATE TABLE bids (
id CHAR(36) PRIMARY KEY,
load_id CHAR(36) NOT NULL,
transporter_id CHAR(36) NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
status ENUM('submitted', 'accepted', 'rejected') DEFAULT 'submitted',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (load_id) REFERENCES loads(id) ON DELETE CASCADE,
INDEX idx_load_amount (load_id, amount)
) ENGINE=InnoDB;
İndeksli yabancı anahtarlar ve ortak sorgu yollarında bileşen indeksleri kullanımı (idx_shipper_status, idx_load_amount), yoğun eş zamanlı teklif baskısı altında bile mikro saniye düzeyinde arama süreleri sağlar.
Kullanım Başına Teklif ve Cüzdan Mikro-Azaltmaları
Statik yazılım abonelik katmanları yerine, RoutePe Auto, kullanım başına ödeme ile çalışan bir işlem cüzdan mimarisi ile faaliyette bulunmaktadır. Nakliyeciler, yayımlanan her yük veya dijital tahmin için nominal bir mikro ücret ödemektedir. Bu işlemleri eşzamanlılık hataları olmadan işlemek için (örneğin, çift harcama veya denge kısıtlamalarını atlayan paralel gönderimler) arka uç, atomik Laravel veritabanı işlemleri içinde satır seviyesinde veritabanı kilitlemesine güvenmektedir.
Web Uygulama ve Mobil Uygulama Operasyonlarının Senkronizasyonu
Lojistikte sık karşılaşılan bir gecikme kaynağı, sevkiyat ofis yöneticileri ile yolda bulunan sürücüler arasındaki asenkron iletişimdir. RoutePe Auto’da web uygulaması, mobil uygulama ile gerçek zamanlı olarak senkronize olmaktadır.
İki Yönlü Durum Senkronizasyon Akışı
- Sürücü Tarafı (Mobil Uygulama): GPS telemetri patlamaları gönderir veya durum değişiklikleri (örneğin, “Depoya Varıldı” veya “ePOD İmzalandı”) tetikler.
- Laravel Gateway: Gelen yükü JWT ile doğrular, yürütme durum değişikliklerini MySQL’e kaydeder ve Redis destekli kuyruk etkinliği gönderir.
- Web Socket Yayını: Laravel Echo ve Pusher/Soketi, güncellemeleri hemen kanal dinleyicilerine iletir.
- Gönderici Tarafı (React Web Uygulama): Web soketleri durumu günceller, hemen aracın koordinatlarını ve iş güncellemelerini etkileşimli kontrol haritasında yansıtır.
Ücretsiz Canlı Kamyon Keşfi ve Dinamik Belge Oluşturma
Spot piyasa göndermelerini optimize etmek için RoutePe Auto, Ücretsiz Canlı Kamyon Keşfi motoru sunmaktadır. Açık taşıma araçları konum metriklerini yaymakta, bu sayede nakliyeciler, yakındaki sürücüleri coğrafi olarak filtreleyip broker payı olmadan doğrudan sevk çağrıları başlatabilmektedir.
Otomatik Faturalama ve Belge Boru Hatları
Nakliye lojistiği, hızlı bir şekilde uyum belgelerinin üretilmesini gerektirir:
- Lorry Receipts (LR)
- Depo Yükleme Belgeleri
- Çok Partili Faturalar
Bir gönderi “in_transit” durumuna geçerken, Laravel ön planda bir arka plan görevi başlatır, gönderi meta verisini derler, kriptografik olarak imzalanmış PDF’ler oluşturur, belge kayıtlarını MySQL’e yazar ve hem web kontrol paneline hem de mobil uygulamaya anlık indirme bağlantıları gönderir.
Performans Optimizasyonları
- Sürücü Koordinatları için Sorgu Önbellekleme: Aktif mobil uygulama örneklerinden gelen ham GPS ping dalgalanmaları, MySQL’i her 30 saniyede toplu güncellemeden önce Redis belleğinde önbelleğe alınır. Bu, veritabanı yazma KTE’sini stabil tutar.
- React’te Bileşen Granüler Yeniden Oluşturma: Kontrol paneli bileşenleri, yüksek hacimli veri gönderimleri sırasında canlı harita akışlarının tam UI yeniden oluşturulmalarını tetiklemesini önlemek için atomik durum konteynerleri kullanır.
- İndeksli MySQL Görünümleri: Kontrol paneli toplama metrikleri (örneğin, aktif yük sayısı, bekleyen teklifler, toplam aylık harcama), sürekli tablo taramalarını geçmek için maddelere dayalı özet desenleri kullanır.
Sonuç
Modern bir Transport Management Software geliştirmek, web teknolojisi ile saha hareketliliği arasında bir köprü kurmayı gerektirir. Laravel’in olay yönlendirme ve güvenlik özelliklerini, React’ın hızlı UI bileşenlerini, duyarlı bir mobil uygulamayı ve MySQL’in katı veri tutarlılığını birleştirerek, RoutePe Auto, modern tedarik zinciri ölçeğine uygun bir birleşik nakliye yürütme ağı sunmaktadır.
Kaynak: Orijinal Makale


