Ringkasan
Dinas Perhubungan Kabupaten Jember mau aplikasi mobile untuk kasih informasi dan layanan transportasi. Warga bisa cek jadwal bus, cari rute transit, dan akses info kontak dinas. Standar.
Tapi mereka juga mau include layanan towing mobil. Kalau mobil Anda mogok atau parkir ilegal, Anda bisa request tow lewat aplikasi. Dinas akan dispatch truk, tow kendaraan Anda, dan log transaksi. Ini kurang standar.
Saya bangun J-Tras1e sebagai platform layanan transportasi. Sisi informasi straightforward — tampilkan jadwal, rute, dan detail kontak. Layanan towing butuh lebih banyak pemikiran. Perlu request management, koordinasi dispatch, tracking real-time, dan logging pembayaran.
Aplikasi harus jalan untuk warga dan staff dinas. Warga submit request. Staff kelola queue, assign driver, dan update status. Driver pakai aplikasi untuk navigasi ke kendaraan dan konfirmasi completion. Semua orang lihat data yang sama secara real-time.
Klien
Dinas Perhubungan Kabupaten Jember kelola transit publik, penegakan lalu lintas, dan layanan kendaraan. Mereka mau modernisasi cara warga akses layanan mereka dan perbaiki response time untuk request towing.
Layanan towing adalah pain point. Request masuk via telepon. Dispatcher pakai log kertas. Driver tidak punya GPS guidance. Warga tidak punya cara untuk track request mereka. Prosesnya lambat dan opaque. Mereka mau fix ini.
Fitur
Informasi transportasi kasih jadwal bus, peta rute, dan lokasi terminal. Warga bisa search by rute atau tujuan. Data di-pull dari backend dan di-update oleh staff dinas.
Sistem request towing izinkan warga submit request dengan lokasi mereka, detail kendaraan, dan alasan towing. Sistem generate ticket dan notify dispatcher. Warga bisa track status request mereka — pending, assigned, in progress, atau completed.
Dispatch management kasih staff queue dari pending request. Mereka bisa assign request ke driver yang tersedia, lihat lokasi driver, dan monitor progress. Sistem prioritas request berdasarkan urgency dan lokasi.
Interface driver tunjukkan assigned request dengan navigasi ke lokasi kendaraan. Driver bisa update status, upload foto kendaraan, dan mark job sebagai complete. Sistem log timestamp untuk akuntabilitas.
Push notification jaga warga tetap informed. Mereka dapat notifikasi saat request mereka di-assign, saat driver dalam perjalanan, dan saat job selesai. Kurangi kebutuhan untuk telepon dan perbaiki transparansi.
Tech Stack
Flutter untuk aplikasi mobile dengan GetX untuk state management. Backend CodeIgniter 3 dengan MySQL untuk data storage. REST API untuk komunikasi antara aplikasi dan backend.
Integrasi Google Maps untuk pemilihan lokasi dan navigasi driver. Firebase Cloud Messaging untuk push notification. Role-based access control untuk warga, staff, dan driver.
Real-time update di-handle dengan polling. Bukan solusi paling elegan, tapi jalan dan tidak butuh infrastruktur WebSocket. Aplikasi poll backend setiap beberapa detik saat request aktif.
Peran Saya
Full-stack developer. Saya bangun aplikasi mobile, design API, dan develop backend. Saya juga kerja sama dengan dinas perhubungan untuk define workflow towing dan aturan prioritas request.
Logika dispatch adalah bagian paling susah. Bagaimana assign request secara adil? Driver terdekat? Yang pertama tersedia? Bagaimana kalau driver sudah dalam perjalanan ke job lain? Saya bangun algoritma assignment sederhana yang pertimbangkan lokasi driver, availability, dan workload saat ini. Tidak sempurna, tapi lebih baik dari assignment manual.
Saya juga handle edge case. Bagaimana kalau warga cancel request? Bagaimana kalau driver tidak bisa temukan kendaraan? Bagaimana kalau kendaraan hilang saat driver tiba? Bangun cancellation flow, status update, dan notes field jadi staff bisa handle exception tanpa rusak sistem.
Aplikasi di-deploy tapi tidak pernah dapat traction signifikan. Dinas perhubungan pakai secara internal, tapi adopsi warga rendah. Ternyata kebanyakan orang masih prefer telepon untuk tow. Aplikasi jalan, tapi ubah perilaku lebih susah dari bangun software.
Tetap, ini pengalaman belajar yang bagus. Saya dapat kerja di koordinasi real-time, workflow berbasis role, dan integrasi GPS. Dan dinas dapat sistem fungsional, meskipun tidak jadi channel utama yang mereka harapkan.
