tugas

Tugas 2: Rancang Bangun Backend RESTful API Layanan Reservasi Ruang Singgah dengan Spring Boot

Tugas 2: Rancang Bangun Backend RESTful API Layanan Reservasi Ruang Singgah dengan Spring Boot

Pengembangan sistem backend enterprise-ready berbasis Java Spring Boot untuk melayani platform reservasi akomodasi singgah sementara (Ruang Singgah), mengimplementasikan pola arsitektur Layered Architecture (Controller-Service-Repository).

1. Arsitektur Komponen Backend Spring Boot

  • Controller Layer (@RestController): Menyediakan endpoint RESTful API dengan standardisasi format HTTP verb (GET, POST, PUT, DELETE) dan pengembalian respons entitas HTTP (ResponseEntity<ApiResponse>).
  • Service Layer (@Service): Menampung logika bisnis inti, validasi transaksi pemesanan, pengecekan ketersediaan jadwal kamar secara konkuren, dan kalkulasi tagihan.
  • Data Access Layer (@Repository): Memanfaatkan Spring Data JPA dan Hibernate ORM untuk berinteraksi dengan database relasional menggunakan antarmuka JpaRepository tanpa penulisan query SQL manual.
  • DTO Pattern & Object Mapping: Pemisahan tegas antara entitas basis data dengan transfer data API menggunakan Record DTO untuk mencegah kebocoran informasi (information leakage).

2. Fitur Endpoint RESTful yang Dikembangkan

  1. GET /api/rooms: Menampilkan katalog ruang singgah dengan filter lokasi, rentang harga, dan fasilitas.
  2. POST /api/bookings: Melakukan reservasi kamar baru dengan validasi bentrok tanggal.
  3. PUT /api/bookings/{id}/confirm: Mengonfirmasi status pembayaran dan menerbitkan kode check-in.
  4. DELETE /api/bookings/{id}: Pembatalan reservasi dengan pembaharuan ketersediaan unit.

3. Berkas Tugas Terlampir

  • Paket proyek utama aplikasi backend: ruangSinggah.zip yang memuat skema konfigurasi Maven, JPA entities, controllers, dan service layer.
  • Proyek demonstrasi pendukung: demo.zip yang memuat prototipe inisial struktur Spring Boot.

Attachments