5.1 KiB
Tugas Besar SIG - WebGIS Poverty Mapping
Repository ini berisi aplikasi utama Tugas Besar SIG dan artifact tugas kelas WebGIS dasar.
Prioritas Penilaian
Jalankan dan nilai aplikasi utama pada folder:
WebgisPovertyMapping/
Folder 01/ disertakan sebagai bukti tugas kelas/prototype pengembangan sebelum aplikasi final.
Daftar Project
| Folder | Peran | Ringkasan |
|---|---|---|
01/ |
Tugas kelas WebGIS dasar | CRUD POI/lokasi usaha, digitasi jalan polyline, digitasi parsil polygon |
WebgisPovertyMapping/ |
Aplikasi final tugas besar | Auth, role admin/operator/viewer, dashboard, kebutuhan bantuan, import/export, keamanan, laporan |
Mapping Database
Setiap project memakai database terpisah agar schema tidak saling bertabrakan saat di-import.
01 -> db_webgis_01
WebgisPovertyMapping -> db_webgis
URL Lokal Dengan Docker
Jalankan dari root repository dengan Docker Compose lokal:
cp .env.example .env
docker compose -f docker-compose.yml -f docker-compose.local.yml up --build -d
Buka:
http://localhost:8080/
http://localhost:8080/01/
http://localhost:8080/WebgisPovertyMapping/
Tambahkan APP_PORT=8081 di .env jika port 8080 sudah dipakai.
Quick Start Aplikasi Final
Setelah Docker berjalan, buka aplikasi final:
http://localhost:8080/WebgisPovertyMapping/
Database db_webgis otomatis dibuat dan diisi dari WebgisPovertyMapping/setup_database.sql saat volume MariaDB Docker masih kosong.
XAMPP tidak lagi menjadi jalur utama. Jika perlu menjalankan mode legacy tanpa Docker, lihat WebgisPovertyMapping/docs/deployment-xampp.md.
Quick Start Docker
Docker setup menjalankan dua service:
app: PHP 8.2 + Apache untuk root repo,01/, danWebgisPovertyMapping/.db: MariaDB 11.4 yang otomatis import01/setup_database.sqldanWebgisPovertyMapping/setup_database.sqlsaat volume database masih kosong.
Jalankan dari root repository:
cp .env.example .env
docker compose -f docker-compose.yml -f docker-compose.local.yml up --build -d
Buka:
http://localhost:8080/
http://localhost:8080/01/
http://localhost:8080/WebgisPovertyMapping/
Tambahkan APP_PORT=8081 di .env jika port 8080 sudah dipakai. Untuk reset database Docker dari awal:
docker compose -f docker-compose.yml -f docker-compose.local.yml down -v
docker compose -f docker-compose.yml -f docker-compose.local.yml up --build -d
Deployment Coolify
Gunakan repo ini sebagai source project Coolify dengan Docker Compose deployment. File docker-compose.yml adalah konfigurasi production: service app hanya memakai expose: 80, sehingga tidak membuka host port publik. Domain publik diarahkan oleh reverse proxy Coolify ke container port 80; service db tetap private di network internal compose.
- Push root repository ini ke Git provider yang bisa diakses Coolify.
- Di Coolify, buat resource baru dari Git repository tersebut.
- Pilih build pack/deployment type
Docker Compose. - Pastikan compose file yang dipakai adalah
docker-compose.ymldi root repository. - Assign domain pada service
app, misalnya:
https://ifuntanhub.dev
Karena container Apache listen di port 80, domain tidak perlu diberi suffix port.
- Set environment variable berikut di Coolify:
MARIADB_ROOT_PASSWORD=isi-password-kuat
- Deploy. Saat database volume masih kosong, MariaDB otomatis menjalankan:
01/setup_database.sql
WebgisPovertyMapping/setup_database.sql
- Setelah deploy, buka URL publik Coolify root. Landing page akan menampilkan link ke project kelas
01/dan aplikasi finalWebgisPovertyMapping/.
Catatan penting:
- Jangan tambahkan
ports:didocker-compose.ymlproduction. Jika port host dipublish, service dapat terbuka di luar kontrol reverse proxy. docker-compose.local.ymlhanya untuk development lokal dan tidak perlu dipilih di Coolify.- Jika ingin langsung membuka aplikasi final sebagai halaman utama domain, atur domain/path di reverse proxy ke
/WebgisPovertyMapping/atau ubah landing page root sesuai kebutuhan. - Jika database Docker perlu direset di Coolify, hapus persistent volume database terlebih dahulu. Tanpa reset volume, file SQL init tidak dijalankan ulang oleh MariaDB.
Environment
- Runtime utama: Docker Compose dengan PHP 8.2 Apache dan MariaDB 11.4.
- Di Docker, aplikasi memakai
DB_HOST=dbdanDB_PORT=3306. - Default port
3307hanya relevan untuk mode XAMPP legacy. - Leaflet, Chart.js, font, tile peta, dan geocoding memakai CDN/layanan eksternal sehingga demo membutuhkan koneksi internet.
- File root
DESIGN.mdadalah catatan desain lokal yang tidak terkait pengumpulan dan diabaikan oleh.gitignore.
Urutan Demo Yang Disarankan
- Buka
WebgisPovertyMapping/sebagai aplikasi final. - Login dengan akun demo:
Administrator: admin / password
Operator : operator / password
Viewer : viewer / password
- Untuk akses publik tanpa login, buka langsung halaman peta aplikasi final.
- Tunjukkan peta, dashboard, rumah ibadah, penduduk miskin, proximity/blank spot, kebutuhan bantuan, dan laporan.
- Jika diminta bukti tugas kelas, buka
01/.