PlayStation Rental Management System adalah aplikasi berbasis web yang dirancang untuk mengelola bisnis penyewaan konsol PlayStation, game, dan aksesoris secara terintegrasi. Aplikasi ini menyediakan platform lengkap untuk manajemen rental dengan multi-role user (Admin, Kasir, Pelanggan, dan Owner) serta integrasi payment gateway Midtrans untuk transaksi yang aman dan mudah.
- Mengelola inventaris unit PlayStation, game, dan aksesoris
- Memproses transaksi rental dengan sistem status yang jelas
- Menyediakan dashboard real-time untuk monitoring bisnis
- Mendukung pembayaran digital melalui Midtrans
- Memberikan pengalaman booking yang mudah bagi pelanggan
Semua screenshot interface aplikasi tersimpan di folder:
docs/screenshots/
Note: Jika gambar tidak muncul, pastikan Anda sudah menjalankan
php artisan storage:linkdan file screenshot sudah ada di folderdocs/screenshots/.


 


- Unit PlayStation: CRUD unit PS dengan nomor seri, status ketersediaan, dan kondisi
- Game Library: Manajemen koleksi game dengan kategori, stok, dan nomor seri
- Aksesoris: Pengelolaan aksesoris (controller, headset, dll) dengan tracking stok
- Booking Online: Pelanggan dapat melakukan booking unit dan game secara mandiri
- Multi-item Rental: Satu transaksi rental dapat mencakup unit, game, dan aksesoris
- Status Tracking: Status rental (pending, active, returned, cancelled) dengan notifikasi
- Durasi Fleksibel: Sistem perhitungan harga berdasarkan durasi penyewaan
- Midtrans Integration: Integrasi dengan Midtrans untuk pembayaran digital
- Multiple Payment Methods: Support credit card, e-wallet, bank transfer
- Snap Token: Generate token pembayaran otomatis
- Payment Status: Tracking status pembayaran real-time
- Admin: Full access untuk manajemen seluruh aspek aplikasi
- Kasir: Handle transaksi, pembayaran, dan return unit
- Pelanggan: Booking rental, lihat riwayat, kelola profil
- Owner: Dashboard analytics dan laporan bisnis
- Real-time Analytics: Statistik rental, revenue, dan okupansi unit
- Laporan Transaksi: History lengkap semua transaksi
- Export Data: Export laporan ke Excel (menggunakan Maatwebsite Excel)
- Google OAuth: Login menggunakan akun Google (Laravel Socialite)
- Role-based Access: Permission system berdasarkan role user
- Profile Management: Kelola profil user dengan avatar upload
- Cart System: Tambah item ke keranjang sebelum checkout
- Quick Checkout: Proses rental dari cart dengan mudah
| Teknologi | Versi | Deskripsi |
|---|---|---|
| PHP | ^8.2 | Bahasa pemrograman utama |
| Laravel | ^12.0 | Web application framework |
| Eloquent ORM | - | Database ORM Laravel |
| Laravel Socialite | ^5.23 | OAuth authentication (Google) |
| Maatwebsite Excel | ^3.1 | Export/import Excel |
| Midtrans PHP | ^2.6 | Payment gateway integration |
| Teknologi | Versi | Deskripsi |
|---|---|---|
| Blade Templates | - | Laravel templating engine |
| Tailwind CSS | ^4.0 | Utility-first CSS framework |
| Vite | ^7.0.7 | Build tool & dev server |
| Axios | ^1.11.0 | HTTP client untuk AJAX |
| Teknologi | Deskripsi |
|---|---|
| MySQL / MariaDB | Database utama |
| SQLite | Database development/testing |
| Tools | Deskripsi |
|---|---|
| Composer | PHP dependency manager |
| npm | JavaScript package manager |
| Laravel Sail | Docker development environment |
| Laravel Pail | Log viewer |
| PHPUnit | Testing framework |
| Laravel Pint | Code style fixer |
- PHP >= 8.2
- Composer
- Node.js & npm
- MySQL/MariaDB atau SQLite
- Git
git clone <repository-url>
cd ProjectPI_Playstation# Install PHP dependencies
composer install
# Install Node.js dependencies
npm install# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generateEdit file .env dan sesuaikan konfigurasi database:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=playstation_rental
DB_USERNAME=root
DB_PASSWORD=your_password# Run migrations
php artisan migrate
# (Optional) Seed database dengan data awal
php artisan db:seed# Create symbolic link untuk storage
php artisan storage:link# Build untuk production
npm run build
# Atau jalankan development server
npm run dev# Development mode (menjalankan server, queue, logs, dan vite secara bersamaan)
composer dev
# Atau jalankan server Laravel secara manual
php artisan serveAplikasi akan berjalan di: http://localhost:8000
Ngrok diperlukan untuk expose aplikasi lokal ke internet agar webhook Midtrans dapat mengirim callback ke aplikasi Anda.
- Kunjungi https://ngrok.com/download
- Download sesuai sistem operasi Anda
- Extract dan pindahkan ke folder yang mudah diakses
# Daftar akun gratis di https://ngrok.com
# Dapatkan authtoken dari dashboard
ngrok config add-authtoken YOUR_AUTHTOKEN# Jalankan ngrok ke port 8000 (port default Laravel)
ngrok http 8000Setelah dijalankan, ngrok akan menampilkan URL seperti:
Forwarding: https://abc123.ngrok.io -> http://localhost:8000
- Login ke Midtrans Dashboard
- Masuk ke Settings > Configuration
- Di bagian Payment Notification URL, masukkan:
https://abc123.ngrok.io/api/midtrans/callback - Di bagian Finish Redirect URL, masukkan:
https://abc123.ngrok.io/payment/success - Simpan konfigurasi
Edit .env dan update URL aplikasi:
APP_URL=https://abc123.ngrok.io# Test webhook callback
curl -X POST https://abc123.ngrok.io/api/midtrans/callback \
-H "Content-Type: application/json" \
-d '{"order_id":"TEST-001","transaction_status":"capture"}'- URL Berubah: URL ngrok gratis akan berubah setiap restart. Gunakan ngrok premium untuk URL tetap.
- Logs: Cek logs ngrok di
http://127.0.0.1:4040untuk melihat request yang masuk - Auto-restart: Gunakan
ngrok http 8000 --log=stdoutuntuk logging
The Laravel framework is open-sourced software licensed under the MIT license.
Made with love using Laravel
























