Nusacodes
Kembali ke Showcase
30 September 2026 Hizkia Halim

Final Project Bootcamp Cybersecurity for Web: Equipment Rental Backend System

Bootcamp Backend NodeJS

Final Project Bootcamp Cybersecurity for Web: Equipment Rental Backend System

Final Project Bootcamp Cybersecurity for Web: Equipment Rental Backend System

Dalam Bootcamp Cybersecurity for Web, peserta mengembangkan Equipment Rental Backend System, sebuah proyek backend untuk mengelola penyewaan peralatan. Studi kasus ini menghubungkan pengembangan API dengan penerapan dasar keamanan pada autentikasi, pembatasan akses, dan pengolahan data.

Sebagai penyelenggara, kami melihat proyek ini sebagai sarana praktik untuk memahami hubungan antara kebutuhan bisnis dan keamanan aplikasi. Alur penyewaan memberi konteks konkret: siapa yang boleh mengelola peralatan, bagaimana pengguna mengakses keranjang, serta bagaimana reservasi memengaruhi stok.

Studi Kasus: Pengelolaan Penyewaan Peralatan

Proyek mengambil skenario layanan penyewaan dengan dua peran utama, yaitu pengguna dan administrator. Pengguna dapat melihat peralatan, memasukkan barang ke keranjang, mengubah jumlah pesanan, dan melakukan checkout. Administrator memiliki akses untuk mengelola data peralatan serta memperbarui status reservasi.

Alur reservasi disusun dari tahap menunggu pembayaran, pembayaran diterima, pemrosesan, peminjaman, hingga pengembalian. Kode juga memuat pengurangan stok saat checkout dan penambahan stok ketika peralatan dikembalikan.

Pencatatan pembayaran dilakukan di dalam sistem. Cakupan implementasi yang tersedia belum menunjukkan integrasi dengan layanan payment gateway.

Apa yang Dikerjakan Peserta?

Peserta menyusun backend dengan pemisahan antara routes, controllers, middleware, dan konfigurasi. Struktur ini membagi tanggung jawab pengaturan endpoint, pemrosesan permintaan, pemeriksaan akses, serta koneksi ke layanan pendukung.

Pekerjaan yang tercakup dalam proyek meliputi:

  • Pengembangan endpoint registrasi, login, dan perubahan kata sandi.
  • Pengelolaan katalog peralatan, termasuk penambahan, pembaruan, dan penghapusan data.
  • Pembuatan alur keranjang dan checkout.
  • Pengaturan perubahan status reservasi secara berurutan.
  • Penerapan verifikasi token dan pembatasan akses berdasarkan peran.
  • Penyusunan dokumentasi endpoint beserta contoh request dan response.
  • Integrasi asisten AI untuk membantu menjelaskan penggunaan API proyek.

Pada bagian reservasi, peserta menghubungkan data pengguna, peralatan, detail keranjang, dan pembayaran. Pekerjaan ini memberi kesempatan untuk memahami bagaimana satu permintaan API dapat melibatkan beberapa tabel dan aturan bisnis sekaligus.

Teknologi yang Digunakan

Node.js dan Express digunakan untuk membangun server serta endpoint API. MySQL, melalui library mysql2, menangani penyimpanan dan akses data pengguna, peralatan, reservasi, serta pembayaran.

Untuk autentikasi, proyek menggunakan bcrypt dalam proses hashing dan pemeriksaan kata sandi. JSON Web Tokens, melalui library jsonwebtoken, digunakan untuk menerbitkan dan memverifikasi token akses. Token login dikonfigurasi memiliki masa berlaku tiga jam.

Konfigurasi lingkungan dikelola menggunakan dotenv, sedangkan nodemon tercantum sebagai alat bantu menjalankan aplikasi selama pengembangan.

Integrasi AI menggunakan fetch untuk mengirim permintaan ke layanan yang alamat dan modelnya ditentukan melalui variabel lingkungan. Dokumentasi API dimasukkan sebagai konteks agar jawaban diarahkan pada fitur proyek.

Penerapan Keamanan dalam Backend

Proyek memuat beberapa praktik dasar keamanan yang relevan dengan materi bootcamp. Kata sandi diproses menggunakan bcrypt sebelum disimpan, sementara middleware memeriksa Bearer token untuk mengakses endpoint tertentu.

Pemeriksaan peran digunakan untuk membedakan akses pengguna dan administrator. Sebagai contoh, pengelolaan peralatan dibatasi untuk administrator, sedangkan operasi keranjang ditujukan bagi pengguna.

Kode juga menggunakan query berparameter pada berbagai operasi database. Pendekatan ini memisahkan nilai masukan dari struktur SQL. Pemeriksaan field wajib, format email sederhana, jumlah barang, dan ketersediaan stok turut muncul dalam implementasi, meskipun konsistensinya masih perlu ditinjau di seluruh alur.

Insight dari Studi Kasus

Dari sudut pandang pembelajaran, proyek ini memperlihatkan bahwa keamanan perlu mengikuti detail proses bisnis. Verifikasi identitas melalui token harus dilengkapi pemeriksaan hak akses terhadap data tertentu, termasuk kepemilikan reservasi ketika sebuah ID diterima dari pengguna.

Pengelolaan stok juga menunjukkan pentingnya konsistensi transaksi database. Kode memuat penggunaan transaksi dan FOR UPDATE, tetapi query di dalamnya masih perlu diselaraskan dengan koneksi transaksi yang digunakan agar perlindungan terhadap perubahan data berjalan sesuai tujuan.

Integrasi asisten AI memberikan konteks tambahan: instruksi mengenai peran dan batas topik dapat membantu mengarahkan respons, sementara penegakan otorisasi tetap menjadi tanggung jawab backend.

Manfaat Pembelajaran

Melalui proyek ini, peserta berlatih menerjemahkan kebutuhan layanan penyewaan menjadi struktur data, endpoint, dan aturan akses. Peserta juga memperoleh konteks untuk meninjau hubungan antara autentikasi, otorisasi, validasi masukan, serta konsistensi data.

Bagi kami sebagai penyelenggara, nilai pembelajarannya terletak pada implementasi yang dapat diperiksa dan dikembangkan lebih lanjut. Equipment Rental Backend System menjadi bahan praktik untuk membangun fitur sekaligus mengenali bagian yang membutuhkan perbaikan sebelum digunakan dalam lingkungan produksi.