18

Arsitektur Teknis Unit Transportasi & Logistik

Updated: Sep 2026Oleh: SystemModul Transportasi & Logistik Desa

Arsitektur Teknis: Unit Transportasi & Logistik

Dokumentasi ini menjelaskan pondasi rekayasa perangkat lunak (Software Engineering) untuk modul Transportasi BUMDes.

1. Skema Database (ERD)#

Modul ini berbagi tabel dengan tabel Potensi Desa utama, namun diekstensi dengan tabel logistik.

  • village_potentials: Menyimpan data kendaraan sewa (Mobil, Traktor) dengan kategori TRANSPORTASI.
  • potensi_bookings: Menyimpan transaksi sewa harian/jam.
  • Kolom penting: start_datetime, end_datetime, is_consignment.
  • logistics_packages [NEW]: Tabel baru untuk menyimpan data resi ekspedisi.
  • Kolom: id, tracking_code, recipient_name, villager_id (FK), delivery_status (Pending/Delivered/Failed).
  • logistics_routes [NEW]: Tabel GIS untuk routing kurir harian yang memetakan paket ke kordinat rumah penerima.

2. API & Backend Services#

  • POST /api/logistics/scan-bulk: Endpoint untuk admin BUMDes meng-input 50 resi sekaligus via barcode scanner.
  • Server Action: assignCourier(packageIds, courierId): Fungsi server untuk mendelegasikan pengantaran paket kepada satu kurir lokal (merubah status).
  • Server Action: triggerBookingJournal(bookingId): Modifikasi action ini agar mengakui Hutang Titipan 80/20 jika armada yang disewa milik warga konsinyasi.

3. Komponen UI (Front-End)#

  • CourierDashboardClient.tsx (Client Component): Layar utama untuk kurir (Mobile). Menggunakan Peta interaktif (seperti Leaflet/Mapbox) untuk menampilkan pin lokasi warga.
  • TransportKanbanBoard.tsx (Client Component): Menggunakan Drag-and-Drop untuk memindahkan status sewa mobil dari "Booking" -> "Sedang Dipakai" -> "Dikembalikan".
  • State Management: Memanfaatkan React Zustand atau URL Search Params untuk filtering jadwal armada di kalender agar cepat diakses admin.

Apakah panduan ini membantu Anda?