Aplikasi manajemen peminjaman dan okupansi ruang BTP yang dibangun dengan Laravel 10, Vite, dan ekosistem Postgres/Redis. Project ini mendukung dua alur pengembangan utama:
- Laravel Sail (Docker) untuk lingkungan yang terisolasi dan seragam.
- PHP lokal (tanpa Docker) untuk pengembangan ringan dengan
php artisan serve.
Panduan ini menyesuaikan dengan konfigurasi yang sudah ada di repositori.
- Git
- Composer 2.x
- Node.js 20.x + npm (atau jalankan via Sail)
- Jika memakai Sail: Docker Desktop / Podman yang mendukung Compose v2
- Jika tanpa Sail: PHP 8.1 atau 8.2, ekstensi yang diperlukan Laravel, MySQL/MariaDB (atau Postgres), dan Redis
-
Duplikasikan file contoh environment dan sesuaikan nilainya.
cp .env.example .env
-
Setel variabel dasar:
APP_NAME=SpacerentBTP APP_ENV=local APP_URL=https://SpaceRentBTP-v1.localhost -
Tentukan koneksi database, cache, dan queue sesuai mode yang dipakai:
Menggunakan Sail (Postgres & Redis di dalam container):
DB_CONNECTION=pgsql DB_HOST=pgsql DB_PORT=5432 DB_DATABASE=db_btp DB_USERNAME=sail DB_PASSWORD=password REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=nullMenggunakan PHP lokal (MySQL & Redis di host):
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db_btp DB_USERNAME=your_user DB_PASSWORD=your_password REDIS_HOST=127.0.0.1 REDIS_PORT=6379 -
Konfigurasikan integrasi pihak ketiga (mis.
CLOUDINARY_URL, kredensial e-mail) dengan nilai milik Anda sendiri. -
Generate application key jika belum ada:
php artisan key:generate
-
Instal dependensi PHP di host (dibutuhkan sebelum
./vendor/bin/sailtersedia).composer install
-
Bangun dan jalankan kontainer.
./vendor/bin/sail up -d --build
Alias
sailbisa ditambahkan agar perintah lebih singkat:alias sail='[ -f sail ] && bash sail || ./vendor/bin/sail'
-
Jalankan migrasi dan seeder awal.
sail artisan migrate --seed
-
Instal dependensi front-end dan mulai Vite dev server (berjalan di dalam kontainer).
sail npm install sail npm run dev
Untuk build production gunakan
sail npm run build. -
Aplikasi dapat diakses melalui:
- HTTPS:
https://SpaceRentBTP-v1.localhost - HTTP:
http://localhost - Mailpit:
http://localhost:8025
Sertifikat pengembangan tersimpan di
docker/nginx/ssl. Tambahkan ke trusted root jika ingin menghindari peringatan browser. - HTTPS:
-
Hentikan layanan saat selesai.
sail down
-
Pastikan dependency sistem tersedia (PHP 8.1/8.2 dengan ekstensi
pdo_mysql/pdo_pgsql,bcmath,intl,pcntl,redis, dan Redis server lokal). -
Pasang dependency PHP dan JavaScript.
composer install npm install
-
Jalankan migrasi dan seeder.
php artisan migrate --seed
-
Mulai server aplikasi.
php artisan serve --host=127.0.0.1 --port=8000
-
Di terminal terpisah jalankan Vite agar asset dimuat.
npm run dev
-
Jika memakai queue/cron, jalankan worker yang dibutuhkan:
php artisan queue:work php artisan schedule:work
- Jalankan ulang cache konfigurasi:
php artisan optimize:clear - Pengujian otomatis:
php artisan test - Sinkronisasi storage link:
php artisan storage:link - Regenerasi sertifikat lokal:
bash docker/nginx/ssl/generate-keys.sh
docker-compose.ymlmenjalankannginx,php-fpm,pgsql,redis, danmailpitdi jaringansail.docker/php-fpm/Dockerfile.devmembangun image PHP 8.4 dengan ekstensi tambahan (imagick, redis, memcached, soap, dsb) dan Node.js 20 untuk proses build asset.docker/nginx/sites/dev/laravel.confmengarahkan domainSpaceRentBTP-v1.localhostkepublic/index.phpdan memaksa HTTPS.
- Pastikan folder
storagedanbootstrap/cachewritable. Sail men-set otomatis, namun pada lingkungan lokal gunakanchmod -R 775. - Jika asset tidak ter-update, jalankan
npm run buildatau hapuspublic/build. - Ubah port default (80/443/5432) di
.envapabila bentrok dengan layanan lain. - Saat mengubah env, jalankan
php artisan config:clearagar perubahan terbaca.
Selamat mengembangkan SpaceRent BTP! Jika menemukan kendala khusus, dokumentasikan di issue tracker proyek ini.