Skip to content

Booking-Room-PWS/Booking-Room-API

Repository files navigation

Booking Room API

Deskripsi Singkat

Booking Room API adalah REST API untuk mengelola data ruang/kamar dan transaksi booking (pengajuan, pembatalan, persetujuan admin) dengan autentikasi JWT agar akses endpoint aman.​

Requirement

Pastikan Anda telah menginstal hal-hal berikut pada sistem Anda:

Git (2.51.2 atau lebih baru)
Composer (2.9.1 atau lebih baru)
XAMPP (8.2.12)

Cara Menjalankan Sistem

  1. Clone Repo
git clone https://github.com/Booking-Room-PWS/Booking-Room.git
cd Booking-Room-API
  1. Install dependency:
composer install
  1. Setup Environment:
Ubah .env.example -> .env
Atur Koneksi DB & MYSQL (DB_DATABASE, dll jika diperlukan)

Note

Klik dibawah ini untuk apa saja yang diubah pada .env

Klik disini!
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=roombooking
# DB_USERNAME=root
# DB_PASSWORD=''

Ubah menjadi seperti ini:
DB_CONNECTION=mysql # ubah sqlite ke mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=roombooking # sesuaikan dengan database,
DB_USERNAME=root
DB_PASSWORD=''
  1. Migration:
php artisan migrate
  1. Setup JWT (tymon/jwt-auth):
composer require tymon/jwt-auth
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" (membuat config/jwt.php)
php artisan jwt:secret (mengisi JWT_SECRET di .env)
  1. Generate secure key:
php artisan key:generate (membuat 32 lebih random karakter key dan set value APP_KEY=(awalnya kosong) di file .env)
  1. Jalankan Local Development Server:
php artisan serve

Important

Uji Coba Akun

Dokumentasi API

TODO

  • middleware
    • IsAdmin.php
    • ForceJsonHeaders.php
    • LogAPI.php
  • seeders
    • DatabaseSeeder.php (Admin dan User Biasa)
  • migration
    • xxxx_xx_xx_xxxxx_create_rooms_table.php
    • xxxx_xx_xx_xxxxx_create_bookings_table.php
    • xxxx_xx_xx_xxxxx_add_is_admin_to_users_table.php
    • xxxx_xx_xx_xxxxx_create_log_table.php
  • models
    • Booking.php
    • Room.php
    • LogModel.php
    • User.php
  • helpers
    • ApiFormatter.php
  • routes
    • api.php
  • bootstrap / konfigurasi (routing, middleware alias, exception handler dll)
    • bootstrap/app.php (laravel 12+)
  • controller
    • AuthController.php
    • RoomController.php
    • BookingController.php
  • [] Testing API + Endpoint
  • [] Postman Collection

About

Project ini dibuat untuk menyelesaikan ujian akhir semester (UAS) Pemrograman Web Service

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages