Delete DOKUMENTASI_BACKEND_RENTAL.md
This commit is contained in:
parent
3a8a01b85d
commit
d8973f663f
|
|
@ -1,121 +0,0 @@
|
|||
# Dokumentasi Fondasi Backend Rental
|
||||
|
||||
Bagian ini menjelaskan struktur backend inti yang sudah dibuat untuk platform rental kendaraan multi-rental, e-booking, e-commerce, dan CRM.
|
||||
|
||||
## Tujuan Fondasi Backend
|
||||
|
||||
- Menyediakan struktur database inti yang rapi dan siap dikembangkan.
|
||||
- Menjaga relasi data antar customer, admin rental, super admin, rental company, kendaraan, booking, dan pembayaran.
|
||||
- Menyimpan data transaksi dengan struktur yang mudah dipakai untuk fitur berikutnya.
|
||||
|
||||
## Tabel Inti yang Sudah Dibuat
|
||||
|
||||
- `users`
|
||||
- Menyimpan akun customer, admin_rental, dan super_admin.
|
||||
- Sudah mendukung kolom `role` dan `phone`.
|
||||
- `rental_companies`
|
||||
- Menyimpan data perusahaan rental milik admin rental.
|
||||
- Menyimpan status verifikasi dari super admin.
|
||||
- `vehicles`
|
||||
- Menyimpan data kendaraan milik rental company.
|
||||
- `vehicle_images`
|
||||
- Menyimpan galeri gambar kendaraan.
|
||||
- `bookings`
|
||||
- Menyimpan transaksi booking customer.
|
||||
- `payments`
|
||||
- Menyimpan data pembayaran dan proses verifikasi pembayaran.
|
||||
|
||||
## Relasi Antar Tabel
|
||||
|
||||
- Satu admin rental memiliki satu rental company.
|
||||
- Satu rental company memiliki banyak kendaraan.
|
||||
- Satu kendaraan memiliki banyak gambar.
|
||||
- Satu customer memiliki banyak booking.
|
||||
- Satu booking milik satu customer, satu kendaraan, dan satu rental company.
|
||||
- Satu booking memiliki satu payment.
|
||||
- Satu payment diverifikasi oleh satu user admin rental.
|
||||
- Satu rental company diverifikasi oleh satu user super admin.
|
||||
|
||||
## Status yang Digunakan
|
||||
|
||||
### rental_companies.status_verification
|
||||
- `pending`
|
||||
- `approved`
|
||||
- `rejected`
|
||||
|
||||
### vehicles.status
|
||||
- `active`
|
||||
- `inactive`
|
||||
- `maintenance`
|
||||
|
||||
### bookings.booking_status
|
||||
- `pending`
|
||||
- `waiting_payment`
|
||||
- `waiting_verification`
|
||||
- `confirmed`
|
||||
- `ongoing`
|
||||
- `completed`
|
||||
- `cancelled`
|
||||
|
||||
### bookings.payment_status
|
||||
- `unpaid`
|
||||
- `uploaded`
|
||||
- `verified`
|
||||
- `rejected`
|
||||
|
||||
### payments.payment_status
|
||||
- `unpaid`
|
||||
- `uploaded`
|
||||
- `verified`
|
||||
- `rejected`
|
||||
|
||||
## File Backend yang Ditambahkan
|
||||
|
||||
### Model
|
||||
- `app/Models/RentalCompany.php`
|
||||
- `app/Models/Vehicle.php`
|
||||
- `app/Models/VehicleImage.php`
|
||||
- `app/Models/Booking.php`
|
||||
- `app/Models/Payment.php`
|
||||
- Update model user: `app/Models/User.php`
|
||||
|
||||
### Migration
|
||||
- `database/migrations/2026_04_21_000004_add_phone_to_users_table.php`
|
||||
- `database/migrations/2026_04_21_000005_create_rental_companies_table.php`
|
||||
- `database/migrations/2026_04_21_000006_create_vehicles_table.php`
|
||||
- `database/migrations/2026_04_21_000007_create_vehicle_images_table.php`
|
||||
- `database/migrations/2026_04_21_000008_create_bookings_table.php`
|
||||
- `database/migrations/2026_04_21_000009_create_payments_table.php`
|
||||
|
||||
## Urutan Migration
|
||||
|
||||
Urutan migration dibuat agar foreign key aman saat dijalankan:
|
||||
|
||||
1. Tambah kolom `role` pada `users`
|
||||
2. Tambah kolom `phone` pada `users`
|
||||
3. Buat `rental_companies`
|
||||
4. Buat `vehicles`
|
||||
5. Buat `vehicle_images`
|
||||
6. Buat `bookings`
|
||||
7. Buat `payments`
|
||||
|
||||
## Aturan Bisnis yang Sudah Siap Ditangani
|
||||
|
||||
- Customer wajib login sebelum booking.
|
||||
- Satu kendaraan tidak boleh dibooking pada tanggal yang sama.
|
||||
- Pembayaran diverifikasi oleh admin rental.
|
||||
- Customer hanya bisa memberi ulasan jika booking sudah completed.
|
||||
- Rental yang belum diverifikasi tidak boleh tampil di platform customer.
|
||||
|
||||
## Status Pengerjaan
|
||||
|
||||
- Migration sudah dijalankan dan tabel inti sudah terbentuk.
|
||||
- Model dan relasi dasar sudah disiapkan.
|
||||
- Fondasi ini siap dipakai untuk controller, service, middleware, dan fitur frontend berikutnya.
|
||||
|
||||
## Langkah Berikutnya
|
||||
|
||||
1. Buat seeder data contoh rental company, kendaraan, dan booking.
|
||||
2. Tambahkan validasi booking agar tanggal kendaraan tidak bentrok.
|
||||
3. Tambahkan query/filter agar customer hanya melihat rental company yang sudah approved.
|
||||
4. Bangun controller dan halaman admin/customer di atas struktur data ini.
|
||||
Loading…
Reference in New Issue