docs: rewrite README quick-start — add demo accounts, auto-steps table, common commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -70,84 +70,130 @@ Proyek ini telah dimigrasikan ke framework **Laravel 13** dengan struktur sebaga
|
||||
|
||||
## Cara Menjalankan Project
|
||||
|
||||
Cara utama untuk menjalankan project ini adalah menggunakan **Docker Compose**. Setup Docker sudah mencakup Laravel app, Vite dev server, dan MySQL.
|
||||
|
||||
### Prasyarat
|
||||
|
||||
- Docker Desktop sudah terinstall dan berjalan.
|
||||
- Port `8000`, `5173`, dan `3307` sedang tidak dipakai aplikasi lain.
|
||||
- **Docker Desktop** sudah terinstall dan berjalan.
|
||||
- Port **`8000`** (app), **`5173`** (Vite), dan **`3307`** (MySQL dari host) tidak dipakai aplikasi lain.
|
||||
|
||||
### Menjalankan dengan Docker
|
||||
---
|
||||
|
||||
Jalankan perintah berikut dari root project:
|
||||
### 1. Jalankan Pertama Kali
|
||||
|
||||
```powershell
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
Container `app` akan otomatis:
|
||||
Saat container pertama kali dibuild dan dijalankan, entrypoint otomatis melakukan:
|
||||
|
||||
- menginstall dependency Composer jika `vendor` belum ada di volume Docker,
|
||||
- membuat file `.env` dari `.env.docker.example` jika `.env` belum ada,
|
||||
- generate `APP_KEY` jika masih kosong,
|
||||
- membersihkan config cache,
|
||||
- menjalankan migration ke database MySQL.
|
||||
| Langkah | Keterangan |
|
||||
|---------|-----------|
|
||||
| Install Composer dependencies | Jika `vendor/` belum ada |
|
||||
| Buat `.env` | Dari `.env.docker.example` jika `.env` belum ada |
|
||||
| Generate `APP_KEY` | Jika masih kosong |
|
||||
| `php artisan migrate` | Buat semua tabel database |
|
||||
| `php artisan db:seed` | Isi role + 4 akun demo (lihat bawah) |
|
||||
| `php artisan schedule:work &` | Jalankan Laravel Scheduler di background (backup harian) |
|
||||
|
||||
Container `vite` akan otomatis menginstall dependency Node jika `node_modules` belum ada di volume Docker, lalu menjalankan Vite dev server.
|
||||
Setelah container berjalan, buka **`http://localhost:8000`**
|
||||
|
||||
Setelah container berjalan, buka:
|
||||
---
|
||||
|
||||
- Aplikasi: `http://localhost:8000`
|
||||
- Vite dev server: `http://localhost:5173`
|
||||
- MySQL dari host: `127.0.0.1:3307`
|
||||
- MySQL dari container Laravel: `mysql:3306`
|
||||
### 2. Akun Demo (Langsung Bisa Login)
|
||||
|
||||
### Konfigurasi Database
|
||||
| Role | Email | Password | Akses |
|
||||
|------|-------|----------|-------|
|
||||
| Administrator | `admin@webgis.local` | `admin123` | Semua fitur + kelola pengguna, backup, konfigurasi |
|
||||
| Pengurus Ibadah | `pengurus@webgis.local` | `password123` | CRUD rumah ibadah milik sendiri + analisis radius |
|
||||
| Petugas Pendataan | `petugas@webgis.local` | `password123` | CRUD keluarga miskin |
|
||||
| Pemangku Kebijakan | `kebijakan@webgis.local` | `password123` | View-only: peta, dashboard, ekspor |
|
||||
|
||||
Konfigurasi database development menggunakan MySQL:
|
||||
---
|
||||
|
||||
### 3. URL yang Tersedia
|
||||
|
||||
| URL | Keterangan |
|
||||
|-----|-----------|
|
||||
| `http://localhost:8000` | Aplikasi utama |
|
||||
| `http://localhost:5173` | Vite dev server (hot-reload assets) |
|
||||
| `127.0.0.1:3307` | MySQL dari host (user: `webgis`, pass: `secret`, db: `webgis_miskin`) |
|
||||
|
||||
---
|
||||
|
||||
### 4. Perintah Sehari-hari
|
||||
|
||||
**Status container:**
|
||||
```powershell
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
**Lihat log:**
|
||||
```powershell
|
||||
docker compose logs -f app # log Laravel app
|
||||
docker compose logs -f vite # log Vite dev server
|
||||
```
|
||||
|
||||
**Jalankan test:**
|
||||
```powershell
|
||||
docker compose exec app php artisan test --no-coverage
|
||||
```
|
||||
|
||||
**Backup database manual:**
|
||||
```powershell
|
||||
docker compose exec app php artisan backup:database
|
||||
# File tersimpan di storage/app/backups/
|
||||
```
|
||||
|
||||
**Lihat jadwal yang berjalan:**
|
||||
```powershell
|
||||
docker compose exec app php artisan schedule:list
|
||||
```
|
||||
|
||||
**Lihat daftar route:**
|
||||
```powershell
|
||||
docker compose exec app php artisan route:list
|
||||
```
|
||||
|
||||
**Bersihkan cache:**
|
||||
```powershell
|
||||
docker compose exec app php artisan cache:clear
|
||||
docker compose exec app php artisan config:clear
|
||||
```
|
||||
|
||||
**Stop container:**
|
||||
```powershell
|
||||
docker compose down
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 5. Reset Database (Mulai dari Awal)
|
||||
|
||||
> **Peringatan:** Menghapus semua data.
|
||||
|
||||
```powershell
|
||||
docker compose down -v # hapus container + volume MySQL
|
||||
docker compose up -d --build # build ulang + migrate + seed otomatis
|
||||
```
|
||||
|
||||
Atau jika container sudah berjalan dan ingin reset tanpa rebuild:
|
||||
```powershell
|
||||
docker compose exec app php artisan migrate:fresh --seed --force
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 6. Konfigurasi Database (Referensi)
|
||||
|
||||
```env
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=mysql
|
||||
DB_HOST=mysql # nama service di docker-compose.yml
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=webgis_miskin
|
||||
DB_USERNAME=webgis
|
||||
DB_PASSWORD=secret
|
||||
```
|
||||
|
||||
Credential MySQL root:
|
||||
|
||||
```text
|
||||
MYSQL_ROOT_PASSWORD=root
|
||||
```
|
||||
|
||||
### Perintah yang Sering Dipakai
|
||||
|
||||
```powershell
|
||||
docker compose ps
|
||||
docker compose logs -f app
|
||||
docker compose logs -f vite
|
||||
docker compose exec app php artisan migrate:status
|
||||
docker compose exec app php artisan migrate
|
||||
docker compose exec app php artisan test
|
||||
docker compose down
|
||||
```
|
||||
|
||||
Untuk menghapus database MySQL Docker dan mulai dari database kosong:
|
||||
|
||||
```powershell
|
||||
docker compose down -v
|
||||
```
|
||||
|
||||
### Menjalankan Artisan di Docker
|
||||
|
||||
Semua perintah Artisan dijalankan lewat service `app`.
|
||||
|
||||
```powershell
|
||||
docker compose exec app php artisan route:list
|
||||
docker compose exec app php artisan migrate:fresh
|
||||
docker compose exec app php artisan cache:clear
|
||||
```
|
||||
MySQL root: `MYSQL_ROOT_PASSWORD=root`
|
||||
|
||||
## Daftar Halaman
|
||||
|
||||
|
||||
Reference in New Issue
Block a user