89 lines
2.5 KiB
Markdown
89 lines
2.5 KiB
Markdown
# WebGIS Poverty Map
|
|
|
|
Aplikasi WebGIS PHP + MySQL untuk pemetaan data kemiskinan, fasilitas, laporan warga, dan analisis blank spot bantuan.
|
|
|
|
## Stack
|
|
|
|
- PHP 8.2 Apache
|
|
- MySQL/MariaDB
|
|
- Leaflet
|
|
- PDO MySQL
|
|
|
|
## Deploy Coolify
|
|
|
|
1. Buat database MySQL/MariaDB di Coolify.
|
|
2. Import `database/webgis_db.sql` ke database tersebut.
|
|
3. Buat aplikasi baru dari repo ini.
|
|
4. Pilih build menggunakan `Dockerfile` di root repository.
|
|
5. Set environment variable:
|
|
|
|
```env
|
|
APP_BASE_PATH=
|
|
SESSION_SECURE=true
|
|
CORS_ALLOWED_ORIGIN=
|
|
DB_HOST=nama-service-database
|
|
DB_PORT=3306
|
|
DB_DATABASE=webgis_db
|
|
DB_USERNAME=user_database
|
|
DB_PASSWORD=password_database
|
|
```
|
|
|
|
Root aplikasi menampilkan halaman pemilih progres dari `index.html`. Versi final berjalan di `/project_final`, jadi gunakan `APP_BASE_PATH=/project_final` untuk deploy Coolify ini.
|
|
|
|
`CORS_ALLOWED_ORIGIN` boleh dikosongkan untuk same-origin deployment. Isi dengan domain aplikasi jika API memang perlu diakses dari origin lain.
|
|
|
|
## Akun Awal (4 Role SKPL)
|
|
|
|
Sistem memakai 4 peran sesuai SKPL: **Publik, Enumerator, Operator, Pimpinan**.
|
|
|
|
Database lama yang sudah dimigrasi (`database/migrations/001_fase_a_roles.sql`):
|
|
|
|
- Operator: `admin / admin123` (akun lama `admin`, kini role operator)
|
|
- Pimpinan: `pengguna / user123` (akun lama `user`, kini role pimpinan)
|
|
- Enumerator: `enumerator / user123`
|
|
|
|
Install baru (`database/webgis_db.sql`) memakai username yang lebih jelas:
|
|
|
|
- Operator: `operator / admin123`
|
|
- Pimpinan: `pimpinan / user123`
|
|
- Enumerator: `enumerator / user123`
|
|
|
|
Publik tidak perlu login — akses langsung `peta_publik.php`.
|
|
|
|
Ganti password akun demo setelah deploy jika aplikasi dibuka publik.
|
|
|
|
## Migrasi Database
|
|
|
|
Untuk DB existing, jalankan berurutan:
|
|
|
|
```
|
|
mysql -u root webgis_db < database/migrations/001_fase_a_roles.sql
|
|
mysql -u root webgis_db < database/migrations/002_wilayah.sql
|
|
```
|
|
|
|
Install baru cukup import `database/webgis_db.sql` (sudah mencakup semuanya).
|
|
|
|
## Struktur Penting
|
|
|
|
- `index.html` - halaman awal untuk memilih progres.
|
|
- `01/`, `02/`, `03/`, `final/` - progres pertemuan.
|
|
- `project_final/` - aplikasi final yang berjalan di `/project_final`.
|
|
- `database/webgis_db.sql` - struktur dan seed database lengkap.
|
|
- `Dockerfile` - image PHP Apache untuk Coolify.
|
|
- `.env.example` - contoh environment variable deploy.
|
|
|
|
## Local XAMPP
|
|
|
|
Untuk menjalankan dari XAMPP seperti struktur lama, set base path:
|
|
|
|
```env
|
|
APP_BASE_PATH=/project/project_final
|
|
DB_HOST=127.0.0.1
|
|
DB_PORT=3306
|
|
DB_DATABASE=webgis_db
|
|
DB_USERNAME=root
|
|
DB_PASSWORD=
|
|
```
|
|
|
|
Import `database/webgis_db.sql`, lalu buka `/project/project_final/login.php`.
|