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 @@