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.
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)
- Clone Repo
git clone https://github.com/Booking-Room-PWS/Booking-Room.git
cd Booking-Room-API
- Install dependency:
composer install
- 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=''- Migration:
php artisan migrate
- 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)
- Generate secure key:
php artisan key:generate (membuat 32 lebih random karakter key dan set value APP_KEY=(awalnya kosong) di file .env)
- Jalankan Local Development Server:
php artisan serve
Important
Uji Coba Akun
- Admin (login. Sudah ada di DatabaseSeeder.php, tinggal di gunakan saja):
- name: Admin
- email: admin@example.com
- password: password
- User (login. Sudah ada di DatabaseSeeder.php, tinggal di gunakan saja):
- name: User Test
- email: user@example.com
- password: password
- User (Register):
- name: namabaru
- email: namabaru@gmail.com
- password: ilo4J82
- password_confirmation: ilo4J82
- Dokumentasi API Saat ini: Klik Disini!
- Postman Collection (publish): https://documenter.getpostman.com/view/38706978/2sBXVeGY1u
- 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