Nusacodes
Kembali ke Showcase
30 September 2026 Ida Bagus Putu Dharma Yudhana

Fleet Management System: Final Project Bootcamp NodeJS Backend

Bootcamp Backend NodeJS

Fleet Management System: Final Project Bootcamp NodeJS Backend
Kunjungi

Pengelolaan kendaraan dinas melibatkan pencatatan aset, penugasan pegawai, serta riwayat pengeluaran bahan bakar dan servis. Ketika informasi tersebut tersebar dalam dokumen fisik atau spreadsheet terpisah, pengelola dapat kesulitan mengetahui status kendaraan dan menelusuri biaya operasionalnya.

Melalui final project Bootcamp NodeJS Backend, peserta mengangkat persoalan tersebut dalam Fleet Management System. Proyek ini berfokus pada pengembangan RESTful API untuk memusatkan data armada, mencatat peminjaman dan pengembalian, serta mengelola log operasional kendaraan.

Sebagai penyelenggara, kami menempatkan proyek ini sebagai praktik menghubungkan kebutuhan operasional dengan perancangan backend, database relasional, validasi data, dan pengaturan akses.

Studi Kasus: Administrasi Kendaraan Dinas

Studi kasus proyek ini berangkat dari pengelolaan armada di instansi atau perusahaan. Pengelola membutuhkan informasi mengenai kendaraan yang tersedia, pegawai yang menggunakan kendaraan, serta pengeluaran yang terkait dengan setiap unit.

Laporan proyek mengidentifikasi tiga persoalan utama: pencatatan penugasan yang belum terpusat, rekapitulasi biaya yang terhambat oleh pencatatan manual, serta risiko kesalahan input dan akses tanpa otorisasi.

Untuk menjawab kebutuhan tersebut, peserta membangun backend dengan akses administrator. Data kendaraan, pegawai, penugasan, dan log operasional disimpan dalam MySQL agar dapat dihubungkan serta diakses melalui endpoint yang terstruktur.

Apa yang Dikerjakan Peserta?

Peserta membagi implementasi ke dalam modul konfigurasi, routes, controllers, middleware, dan validators. Pemisahan ini membantu menempatkan pengaturan koneksi database, jalur API, logika bisnis, pemeriksaan token, dan aturan validasi pada bagian yang berbeda.

Fitur yang dikerjakan mencakup:

  • Autentikasi administrator: registrasi, login, dan penggunaan token untuk mengakses endpoint yang dilindungi.
  • Manajemen pegawai: penambahan dan pengambilan data pegawai sebagai referensi penugasan kendaraan.
  • Manajemen kendaraan: penambahan, pembacaan, pembaruan, dan penghapusan data armada.
  • Penugasan dan pengembalian: pencatatan peminjaman serta perubahan status ketersediaan kendaraan.
  • Log operasional: pencatatan biaya bahan bakar dan servis, berikut pengambilan riwayat berdasarkan kendaraan.

Pada alur penugasan, sistem dirancang untuk mencatat peminjaman sekaligus mengubah status kendaraan dari “Tersedia” menjadi “Dipakai”. Saat pengembalian dicatat, status kendaraan kembali menjadi “Tersedia”.

Cakupan proyek berfokus pada backend API dengan respons JSON, sehingga hasilnya menjadi dasar untuk pengembangan antarmuka web atau mobile.

Teknologi dan Tools yang Digunakan

Node.js digunakan sebagai runtime JavaScript di sisi server, sementara Express.js menangani routing dan middleware untuk RESTful API.

MySQL menjadi penyimpanan data relasional. Hubungan antartabel menggunakan foreign key untuk mengaitkan entitas seperti kendaraan, pegawai, dan riwayat operasional. Konfigurasi database juga menggunakan connection pool.

Untuk pengamanan akses, peserta menggunakan JSON Web Token atau JWT sebagai Bearer token. Zod digunakan untuk mendefinisikan dan memeriksa skema input sebelum data diproses ke database.

Postman digunakan untuk mengirim request dan memeriksa respons endpoint selama pengembangan. Peserta juga menggunakan Git, termasuk pengaturan .gitignore untuk mengecualikan file konfigurasi sensitif dan direktori dependensi dari pelacakan versi.

Tantangan: Menjaga Konsistensi Penugasan

Salah satu tantangan yang dibahas dalam laporan adalah menjaga agar pencatatan peminjaman dan pembaruan status kendaraan berjalan sebagai satu kesatuan.

Jika riwayat penugasan berhasil disimpan tetapi status kendaraan gagal diperbarui, informasi ketersediaan dapat menjadi tidak sesuai. Kondisi tersebut dapat mengganggu proses penugasan berikutnya.

Peserta menangani kebutuhan ini melalui transaksi database MySQL dengan mekanisme BEGIN, COMMIT, dan ROLLBACK. Pendekatan tersebut memungkinkan beberapa perubahan diselesaikan bersama atau dibatalkan ketika terjadi kegagalan.

Dari sisi pembelajaran, kasus ini memperlihatkan bahwa pengembangan backend perlu memperhatikan hubungan antaroperasi, bukan hanya keberhasilan masing-masing query.

Validasi dan Pengujian API

Proyek menggabungkan pemeriksaan token dengan validasi skema input. Keduanya memiliki fungsi berbeda: token digunakan dalam pengaturan akses, sedangkan Zod memeriksa kesesuaian data yang dikirimkan klien.

Laporan mendokumentasikan pengujian melalui Postman untuk memeriksa respons API, termasuk penolakan akses tanpa otorisasi dan input yang tidak sesuai aturan. Respons menggunakan format JSON serta kode status HTTP untuk membedakan hasil permintaan.

Pengujian tersebut memberi peserta pengalaman memeriksa alur berhasil maupun kondisi kesalahan. Hasil yang dilaporkan menjadi bukti pengujian pada skenario yang dicakup, tanpa menyiratkan bahwa seluruh kemungkinan gangguan telah diuji.

Insight dan Manfaat Pembelajaran

Fleet Management System memberikan konteks praktis tentang bagaimana kebutuhan administrasi diterjemahkan menjadi model data dan aturan backend. Status kendaraan, identitas pegawai, dan riwayat penugasan saling berkaitan sehingga perlu dikelola secara konsisten.

Pemisahan log bahan bakar dan servis juga menunjukkan pentingnya struktur data yang sesuai dengan kebutuhan penelusuran operasional. Riwayat berdasarkan kendaraan dapat menjadi bahan untuk mengevaluasi pengeluaran dan menyiapkan laporan.

Bagi peserta, manfaat proyek ini mencakup latihan merancang endpoint, membangun relasi database, menerapkan transaksi, memvalidasi input, dan menguji respons API. Pengelolaan konfigurasi sensitif melalui .gitignore turut memperkenalkan kebiasaan kerja yang relevan dalam pengembangan backend.

Sebagai penyelenggara Bootcamp NodeJS Backend, kami melihat proyek ini sebagai penerapan materi pada persoalan operasional yang jelas. Backend yang disusun menyediakan fondasi untuk melanjutkan pengembangan antarmuka dan memperluas pengujian sesuai kebutuhan penggunaan armada.