Files
UAS_WEBGIS_IhyaUlumuddinHar…/README.md
T
2026-06-13 11:24:58 +07:00

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`.