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:
GuavaPopper
2026-06-05 04:28:51 +07:00
parent 4929eda91d
commit 69ca5ab8dc
+100 -54
View File
@@ -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