From 66bb4c4c7cf02cfd968d084fdb48d3ac5783919f Mon Sep 17 00:00:00 2001 From: naukyy Date: Fri, 12 Jun 2026 22:46:13 +0700 Subject: [PATCH] Coba Commit --- 01/backend/api/jalan.php | 4 +- 01/backend/api/kavling.php | 4 +- 01/backend/api/spbu.php | 4 +- 01/frontend/js/services/api.service.js | 10 +- 02/backend/api/jalan.php | 4 +- 02/backend/api/kavling.php | 4 +- 02/backend/api/rumah_ibadah.php | 4 +- 02/backend/api/spbu.php | 4 +- 02/backend/api/warga_miskin.php | 4 +- 02/frontend/js/services/api.service.js | 10 +- 03/backend/api/jalan.php | 4 +- 03/backend/api/kavling.php | 4 +- 03/backend/api/rumah_ibadah.php | 4 +- 03/backend/api/spbu.php | 4 +- 03/backend/api/statistik.php | 4 +- 03/backend/api/warga_miskin.php | 4 +- 03/frontend/js/services/api.service.js | 10 +- README.md | 61 +++++---- .../buat_tabel.sql | 0 .../data_awal_pengguna.sql | 0 .../data_awal_wilayah.sql | 0 .../webgis_naufal_zaky.sql | 0 index.html | 4 +- project_final/api/blank_spot.php | 66 ---------- project_final/api/check_srid.php | 14 --- project_final/api/fix_srid.php | 12 -- project_final/api/helpers.php | 52 -------- project_final/api/jalan.php | 22 ---- project_final/api/kavling.php | 26 ---- project_final/api/kawasan_kumuh.php | 22 ---- project_final/api/laporan.php | 104 ---------------- project_final/api/rumah_ibadah.php | 102 --------------- project_final/api/spbu.php | 57 --------- project_final/api/spbu_status.php | 29 ----- project_final/api/spbu_terdekat.php | 13 -- project_final/api/statistik.php | 53 -------- project_final/api/ulasan.php | 50 -------- project_final/api/users.php | 31 ----- project_final/api/warga_miskin.php | 26 ---- project_final/index.php | 13 -- import_db.php => setup_database.php | 0 {final => versi}/backend/api/jalan.php | 4 +- {final => versi}/backend/api/kavling.php | 4 +- {final => versi}/backend/api/rumah_ibadah.php | 4 +- {final => versi}/backend/api/spbu.php | 4 +- {final => versi}/backend/api/statistik.php | 4 +- {final => versi}/backend/api/warga_miskin.php | 4 +- {final => versi}/backend/config/db.php | 0 .../backend/utils/response_helper.php | 0 {final => versi}/frontend/base.css | 0 {final => versi}/frontend/css/main.css | 0 {final => versi}/frontend/form.css | 0 {final => versi}/frontend/index.html | 0 {final => versi}/frontend/js/app.js | 0 {final => versi}/frontend/js/modules/draw.js | 0 {final => versi}/frontend/js/modules/form.js | 0 {final => versi}/frontend/js/modules/map.js | 0 .../frontend/js/services/api.service.js | 10 +- .../js/services/rumah_ibadah.service.js | 0 .../frontend/js/services/statistik.service.js | 0 .../js/services/warga_miskin.service.js | 0 {final => versi}/frontend/map.css | 0 {final => versi}/frontend/sidebar.css | 0 webgis_app/.htaccess | 13 ++ webgis_app/api/blank_spot.php | 2 + webgis_app/api/check_srid.php | 2 + webgis_app/api/fix_srid.php | 2 + webgis_app/api/jalan.php | 2 + webgis_app/api/kavling.php | 2 + webgis_app/api/kawasan_kumuh.php | 2 + webgis_app/api/laporan.php | 2 + webgis_app/api/rumah_ibadah.php | 2 + webgis_app/api/spbu.php | 2 + webgis_app/api/spbu_status.php | 2 + webgis_app/api/spbu_terdekat.php | 2 + webgis_app/api/statistik.php | 2 + webgis_app/api/ulasan.php | 2 + webgis_app/api/users.php | 2 + webgis_app/api/warga_miskin.php | 2 + .../core_config/database.php | 5 +- webgis_app/core_config/env_loader.php | 56 +++++++++ .../core_config/middleware_auth.php | 29 ++++- .../core_config/session_mgr.php | 2 +- .../core_config/settings.php | 10 +- webgis_app/endpoints/api_fasilitas.php | 113 +++++++++++++++++ webgis_app/endpoints/api_jalan.php | 88 +++++++++++++ webgis_app/endpoints/api_kavling.php | 91 ++++++++++++++ webgis_app/endpoints/api_kawasan.php | 86 +++++++++++++ webgis_app/endpoints/api_laporan.php | 117 ++++++++++++++++++ webgis_app/endpoints/api_pengguna.php | 77 ++++++++++++ webgis_app/endpoints/api_spbu.php | 91 ++++++++++++++ webgis_app/endpoints/api_spbu_nearby.php | 62 ++++++++++ webgis_app/endpoints/api_spbu_status.php | 41 ++++++ webgis_app/endpoints/api_statistik.php | 65 ++++++++++ webgis_app/endpoints/api_ulasan.php | 100 +++++++++++++++ webgis_app/endpoints/api_warga_miskin.php | 91 ++++++++++++++ webgis_app/endpoints/area_blank.php | 98 +++++++++++++++ webgis_app/endpoints/cek_srid.php | 35 ++++++ webgis_app/endpoints/perbaiki_srid.php | 33 +++++ {project_final => webgis_app}/import.php | 4 +- webgis_app/index.php | 13 ++ {project_final => webgis_app}/login.php | 12 +- {project_final => webgis_app}/logout.php | 4 +- .../panel_admin}/index.php | 14 +-- .../panel_admin/kelola_fasilitas.php | 6 +- .../panel_admin/kelola_jalan.php | 8 +- .../panel_admin/kelola_kavling.php | 8 +- .../panel_admin/kelola_kawasan.php | 8 +- .../panel_admin/kelola_laporan.php | 6 +- .../panel_admin/kelola_spbu.php | 6 +- .../panel_admin/kelola_warga.php | 6 +- .../panel_admin/manajemen_pengguna.php | 6 +- .../panel_admin}/partials/footer.php | 0 .../panel_admin}/partials/header.php | 28 ++--- .../panel_admin/peta_admin.php | 8 +- .../panel_user/buat_laporan.php | 6 +- .../user => webgis_app/panel_user}/index.php | 10 +- .../panel_user}/partials/footer.php | 0 .../panel_user}/partials/header.php | 12 +- .../panel_user/peta_user.php | 8 +- .../public_assets}/css/auth.css | 0 .../public_assets/css/global.css | 0 .../public_assets}/css/map.css | 0 .../public_assets/css/panel.css | 0 .../public_assets/js/peta-admin.js | 59 +++++++-- .../public_assets/js/peta-user.js | 37 +++++- 126 files changed, 1613 insertions(+), 866 deletions(-) rename database/create_tables.sql => db_scripts/buat_tabel.sql (100%) rename database/seed_users.sql => db_scripts/data_awal_pengguna.sql (100%) rename database/seed_pontianak.sql => db_scripts/data_awal_wilayah.sql (100%) rename database/webgis_db.sql => db_scripts/webgis_naufal_zaky.sql (100%) delete mode 100644 project_final/api/blank_spot.php delete mode 100644 project_final/api/check_srid.php delete mode 100644 project_final/api/fix_srid.php delete mode 100644 project_final/api/helpers.php delete mode 100644 project_final/api/jalan.php delete mode 100644 project_final/api/kavling.php delete mode 100644 project_final/api/kawasan_kumuh.php delete mode 100644 project_final/api/laporan.php delete mode 100644 project_final/api/rumah_ibadah.php delete mode 100644 project_final/api/spbu.php delete mode 100644 project_final/api/spbu_status.php delete mode 100644 project_final/api/spbu_terdekat.php delete mode 100644 project_final/api/statistik.php delete mode 100644 project_final/api/ulasan.php delete mode 100644 project_final/api/users.php delete mode 100644 project_final/api/warga_miskin.php delete mode 100644 project_final/index.php rename import_db.php => setup_database.php (100%) rename {final => versi}/backend/api/jalan.php (97%) rename {final => versi}/backend/api/kavling.php (97%) rename {final => versi}/backend/api/rumah_ibadah.php (98%) rename {final => versi}/backend/api/spbu.php (97%) rename {final => versi}/backend/api/statistik.php (97%) rename {final => versi}/backend/api/warga_miskin.php (97%) rename {final => versi}/backend/config/db.php (100%) rename {final => versi}/backend/utils/response_helper.php (100%) rename {final => versi}/frontend/base.css (100%) rename {final => versi}/frontend/css/main.css (100%) rename {final => versi}/frontend/form.css (100%) rename {final => versi}/frontend/index.html (100%) rename {final => versi}/frontend/js/app.js (100%) rename {final => versi}/frontend/js/modules/draw.js (100%) rename {final => versi}/frontend/js/modules/form.js (100%) rename {final => versi}/frontend/js/modules/map.js (100%) rename {final => versi}/frontend/js/services/api.service.js (80%) rename {final => versi}/frontend/js/services/rumah_ibadah.service.js (100%) rename {final => versi}/frontend/js/services/statistik.service.js (100%) rename {final => versi}/frontend/js/services/warga_miskin.service.js (100%) rename {final => versi}/frontend/map.css (100%) rename {final => versi}/frontend/sidebar.css (100%) create mode 100644 webgis_app/.htaccess create mode 100644 webgis_app/api/blank_spot.php create mode 100644 webgis_app/api/check_srid.php create mode 100644 webgis_app/api/fix_srid.php create mode 100644 webgis_app/api/jalan.php create mode 100644 webgis_app/api/kavling.php create mode 100644 webgis_app/api/kawasan_kumuh.php create mode 100644 webgis_app/api/laporan.php create mode 100644 webgis_app/api/rumah_ibadah.php create mode 100644 webgis_app/api/spbu.php create mode 100644 webgis_app/api/spbu_status.php create mode 100644 webgis_app/api/spbu_terdekat.php create mode 100644 webgis_app/api/statistik.php create mode 100644 webgis_app/api/ulasan.php create mode 100644 webgis_app/api/users.php create mode 100644 webgis_app/api/warga_miskin.php rename project_final/config/db.php => webgis_app/core_config/database.php (94%) create mode 100644 webgis_app/core_config/env_loader.php rename project_final/config/auth_check.php => webgis_app/core_config/middleware_auth.php (56%) rename project_final/config/session.php => webgis_app/core_config/session_mgr.php (93%) rename project_final/config/app.php => webgis_app/core_config/settings.php (60%) create mode 100644 webgis_app/endpoints/api_fasilitas.php create mode 100644 webgis_app/endpoints/api_jalan.php create mode 100644 webgis_app/endpoints/api_kavling.php create mode 100644 webgis_app/endpoints/api_kawasan.php create mode 100644 webgis_app/endpoints/api_laporan.php create mode 100644 webgis_app/endpoints/api_pengguna.php create mode 100644 webgis_app/endpoints/api_spbu.php create mode 100644 webgis_app/endpoints/api_spbu_nearby.php create mode 100644 webgis_app/endpoints/api_spbu_status.php create mode 100644 webgis_app/endpoints/api_statistik.php create mode 100644 webgis_app/endpoints/api_ulasan.php create mode 100644 webgis_app/endpoints/api_warga_miskin.php create mode 100644 webgis_app/endpoints/area_blank.php create mode 100644 webgis_app/endpoints/cek_srid.php create mode 100644 webgis_app/endpoints/perbaiki_srid.php rename {project_final => webgis_app}/import.php (92%) create mode 100644 webgis_app/index.php rename {project_final => webgis_app}/login.php (91%) rename {project_final => webgis_app}/logout.php (58%) rename {project_final/admin => webgis_app/panel_admin}/index.php (91%) rename project_final/admin/data_rumah.php => webgis_app/panel_admin/kelola_fasilitas.php (98%) rename project_final/admin/data_jalan.php => webgis_app/panel_admin/kelola_jalan.php (96%) rename project_final/admin/data_kavling.php => webgis_app/panel_admin/kelola_kavling.php (96%) rename project_final/admin/data_kawasan.php => webgis_app/panel_admin/kelola_kawasan.php (93%) rename project_final/admin/data_laporan.php => webgis_app/panel_admin/kelola_laporan.php (98%) rename project_final/admin/data_spbu.php => webgis_app/panel_admin/kelola_spbu.php (98%) rename project_final/admin/data_warga.php => webgis_app/panel_admin/kelola_warga.php (98%) rename project_final/admin/users.php => webgis_app/panel_admin/manajemen_pengguna.php (98%) rename {project_final/admin => webgis_app/panel_admin}/partials/footer.php (100%) rename {project_final/admin => webgis_app/panel_admin}/partials/header.php (81%) rename project_final/admin/peta.php => webgis_app/panel_admin/peta_admin.php (96%) rename project_final/user/laporan.php => webgis_app/panel_user/buat_laporan.php (98%) rename {project_final/user => webgis_app/panel_user}/index.php (93%) rename {project_final/user => webgis_app/panel_user}/partials/footer.php (100%) rename {project_final/user => webgis_app/panel_user}/partials/header.php (90%) rename project_final/user/peta.php => webgis_app/panel_user/peta_user.php (96%) rename {project_final/assets => webgis_app/public_assets}/css/auth.css (100%) rename project_final/assets/css/main.css => webgis_app/public_assets/css/global.css (100%) rename {project_final/assets => webgis_app/public_assets}/css/map.css (100%) rename project_final/assets/css/admin.css => webgis_app/public_assets/css/panel.css (100%) rename project_final/assets/js/admin-map.js => webgis_app/public_assets/js/peta-admin.js (92%) rename project_final/assets/js/user-map.js => webgis_app/public_assets/js/peta-user.js (94%) diff --git a/01/backend/api/jalan.php b/01/backend/api/jalan.php index 7264a11..886efd9 100644 --- a/01/backend/api/jalan.php +++ b/01/backend/api/jalan.php @@ -1,10 +1,10 @@ - { + const segments = window.location.pathname.split('/'); + const targetIndex = segments.findIndex(seg => ['01', '02', '03', 'versi'].includes(seg)); + if (targetIndex !== -1) { + return segments.slice(0, targetIndex).join('/'); + } + return ''; +}; +export const BASE_URL = getBaseUrl(); const createService = (endpoint) => ({ getAll: async () => { diff --git a/02/backend/api/jalan.php b/02/backend/api/jalan.php index 7264a11..886efd9 100644 --- a/02/backend/api/jalan.php +++ b/02/backend/api/jalan.php @@ -1,10 +1,10 @@ - { + const segments = window.location.pathname.split('/'); + const targetIndex = segments.findIndex(seg => ['01', '02', '03', 'versi'].includes(seg)); + if (targetIndex !== -1) { + return segments.slice(0, targetIndex).join('/'); + } + return ''; +}; +export const BASE_URL = getBaseUrl(); const createService = (endpoint) => ({ getAll: async () => { diff --git a/03/backend/api/jalan.php b/03/backend/api/jalan.php index 7264a11..886efd9 100644 --- a/03/backend/api/jalan.php +++ b/03/backend/api/jalan.php @@ -1,10 +1,10 @@ - { + const segments = window.location.pathname.split('/'); + const targetIndex = segments.findIndex(seg => ['01', '02', '03', 'versi'].includes(seg)); + if (targetIndex !== -1) { + return segments.slice(0, targetIndex).join('/'); + } + return ''; +}; +export const BASE_URL = getBaseUrl(); const createService = (endpoint) => ({ getAll: async () => { diff --git a/README.md b/README.md index 0f22db8..d80a113 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,19 @@ -# WebGIS Poverty Map +# D1041231071 — WebGIS Smart City Project +**Naufal Zaky R | UAS WebGIS** -Aplikasi WebGIS PHP + MySQL untuk pemetaan data kemiskinan, fasilitas, laporan warga, dan analisis blank spot bantuan. +Aplikasi WebGIS berbasis PHP + MySQL untuk pemetaan data kemiskinan, fasilitas umum, laporan warga, dan analisis blank spot bantuan sosial di Kota Pontianak. -## Stack +## Stack Teknologi - PHP 8.2 Apache -- MySQL/MariaDB -- Leaflet -- PDO MySQL +- MySQL / MariaDB + PostGIS +- Leaflet.js (peta interaktif) +- PDO MySQL (koneksi database) -## Deploy Coolify +## Cara Deploy (Coolify) 1. Buat database MySQL/MariaDB di Coolify. -2. Import `database/webgis_db.sql` ke database tersebut. +2. Import `db_scripts/webgis_naufal_zaky.sql` ke database tersebut. 3. Buat aplikasi baru dari repo ini. 4. Pilih build menggunakan `Dockerfile` di root repository. 5. Set environment variable: @@ -28,9 +29,7 @@ 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. +Aplikasi final berjalan di `/webgis_app`. Gunakan `APP_BASE_PATH=/webgis_app` untuk deploy. ## Akun Awal @@ -39,23 +38,38 @@ Setelah import SQL: - Admin: `admin / admin123` - Pengguna: `pengguna / user123` -Ganti password akun demo setelah deploy jika aplikasi dibuka publik. +> Ganti password akun demo setelah deploy jika aplikasi dibuka publik. -## Struktur Penting +## Struktur Project -- `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. +``` +D1041231071_NaufalZakyR_UAS_WebGISProject/ +├── beranda.html ← Halaman pemilih progres +├── webgis_app/ ← Aplikasi final (main app) +│ ├── panel_admin/ ← Halaman & fitur admin +│ ├── panel_user/ ← Halaman & fitur pengguna +│ ├── endpoints/ ← API endpoint PHP +│ ├── core_config/ ← Konfigurasi (DB, session, auth) +│ └── public_assets/ ← CSS & JS (global, panel, map) +├── db_scripts/ ← SQL scripts database +│ ├── buat_tabel.sql +│ ├── data_awal_wilayah.sql +│ ├── data_awal_pengguna.sql +│ └── webgis_naufal_zaky.sql +├── version_01/ ← Progres pertemuan 1 +├── version_02/ ← Progres pertemuan 2 +├── version_03/ ← Progres pertemuan 3 +├── legacy_version/ ← Versi lama (referensi) +├── Dockerfile ← Docker image untuk Coolify +└── .env ← Konfigurasi environment +``` -## Local XAMPP +## Jalankan di XAMPP Lokal -Untuk menjalankan dari XAMPP seperti struktur lama, set base path: +Set konfigurasi di `.env`: ```env -APP_BASE_PATH=/project/project_final +APP_BASE_PATH=/D1041231071_NaufalZakyR_UAS_WebGISProject/webgis_app DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=webgis_db @@ -63,4 +77,5 @@ DB_USERNAME=root DB_PASSWORD= ``` -Import `database/webgis_db.sql`, lalu buka `/project/project_final/login.php`. +Import `db_scripts/webgis_naufal_zaky.sql` ke phpMyAdmin, lalu buka: +`http://localhost/D1041231071_NaufalZakyR_UAS_WebGISProject/webgis_app/login.php` diff --git a/database/create_tables.sql b/db_scripts/buat_tabel.sql similarity index 100% rename from database/create_tables.sql rename to db_scripts/buat_tabel.sql diff --git a/database/seed_users.sql b/db_scripts/data_awal_pengguna.sql similarity index 100% rename from database/seed_users.sql rename to db_scripts/data_awal_pengguna.sql diff --git a/database/seed_pontianak.sql b/db_scripts/data_awal_wilayah.sql similarity index 100% rename from database/seed_pontianak.sql rename to db_scripts/data_awal_wilayah.sql diff --git a/database/webgis_db.sql b/db_scripts/webgis_naufal_zaky.sql similarity index 100% rename from database/webgis_db.sql rename to db_scripts/webgis_naufal_zaky.sql diff --git a/index.html b/index.html index 1ba1c19..0c9ad80 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@