From 69ca5ab8dc1188f7e1758ea46dfbbbf7b4d196e8 Mon Sep 17 00:00:00 2001 From: GuavaPopper Date: Fri, 5 Jun 2026 04:28:51 +0700 Subject: [PATCH] =?UTF-8?q?docs:=20rewrite=20README=20quick-start=20?= =?UTF-8?q?=E2=80=94=20add=20demo=20accounts,=20auto-steps=20table,=20comm?= =?UTF-8?q?on=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- README.md | 154 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 100 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index 2078f9c..89a639b 100644 --- a/README.md +++ b/README.md @@ -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