diff --git a/backup_databases.bat b/backup_databases.bat
new file mode 100644
index 0000000..6157770
--- /dev/null
+++ b/backup_databases.bat
@@ -0,0 +1,79 @@
+@echo off
+SETLOCAL EnableDelayedExpansion
+
+:: Set paths
+SET "MYSQLDUMP_PATH=C:\laragon\bin\mysql\mysql-8.4.3-winx64\bin\mysqldump.exe"
+SET "DB_DIR=%~dp0database"
+
+:: Check if mysqldump exists
+IF NOT EXIST "%MYSQLDUMP_PATH%" (
+ :: Try to search in PATH
+ where mysqldump >nul 2>nul
+ IF !ERRORLEVEL! EQU 0 (
+ SET "MYSQLDUMP_PATH=mysqldump"
+ ) ELSE (
+ echo [ERROR] mysqldump.exe tidak ditemukan di %MYSQLDUMP_PATH% atau PATH sistem.
+ echo Silakan sesuaikan MYSQLDUMP_PATH di dalam berkas script ini.
+ pause
+ exit /b 1
+ )
+)
+
+:: Create database directory if not exists
+IF NOT EXIST "%DB_DIR%" (
+ mkdir "%DB_DIR%"
+)
+
+echo.
+echo ==============================================
+echo Mengekspor Database ke Folder /database
+echo ==============================================
+
+echo [*] Mengekspor database peta_spbu...
+"%MYSQLDUMP_PATH%" --user=root --result-file="%DB_DIR%\peta_spbu.sql" peta_spbu
+IF !ERRORLEVEL! EQU 0 (
+ echo [OK] peta_spbu.sql berhasil diekspor.
+) ELSE (
+ echo [GAGAL] Gagal mengekspor peta_spbu.
+)
+
+echo [*] Mengekspor database webgis_baru...
+"%MYSQLDUMP_PATH%" --user=root --result-file="%DB_DIR%\webgis_baru.sql" webgis_baru
+IF !ERRORLEVEL! EQU 0 (
+ echo [OK] webgis_baru.sql berhasil diekspor.
+) ELSE (
+ echo [GAGAL] Gagal mengekspor webgis_baru.
+)
+
+echo.
+echo ==============================================
+echo Push Perubahan ke Gitea
+echo ==============================================
+
+:: Check if git is available
+where git >nul 2>nul
+IF !ERRORLEVEL! NEQ 0 (
+ echo [WARNING] Git tidak ditemukan di PATH. Tidak dapat melakukan push otomatis.
+ pause
+ exit /b 0
+)
+
+:: Add files to git
+echo [*] Menambahkan file dump ke git staging...
+git add "%DB_DIR%\peta_spbu.sql" "%DB_DIR%\webgis_baru.sql"
+
+:: Get current timestamp for commit message
+for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
+set "timestamp=%datetime:~0,4%-%datetime:~4,2%-%datetime:~6,2% %datetime:~8,2%:%datetime:~10,2%:%datetime:~12,2%"
+
+echo [*] Melakukan git commit...
+git commit -m "Backup database: %timestamp%"
+
+echo [*] Melakukan git push ke Gitea...
+git push origin main
+
+echo.
+echo ==============================================
+echo Proses backup selesai!
+echo ==============================================
+pause
diff --git a/database/peta_spbu.sql b/database/peta_spbu.sql
new file mode 100644
index 0000000..9932026
--- /dev/null
+++ b/database/peta_spbu.sql
@@ -0,0 +1,189 @@
+-- MySQL dump 10.13 Distrib 8.4.3, for Win64 (x86_64)
+--
+-- Host: localhost Database: peta_spbu
+-- ------------------------------------------------------
+-- Server version 8.4.3
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!50503 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `jalan`
+--
+
+DROP TABLE IF EXISTS `jalan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `jalan` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_jalan` varchar(100) NOT NULL,
+ `status_jalan` enum('Nasional','Provinsi','Kabupaten') NOT NULL,
+ `panjang_jalan` double NOT NULL,
+ `geojson` text NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `jalan`
+--
+
+LOCK TABLES `jalan` WRITE;
+/*!40000 ALTER TABLE `jalan` DISABLE KEYS */;
+INSERT INTO `jalan` VALUES (7,'Jalan Ahmad Yani','Nasional',2658.06,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[109.338083,-0.04189],[109.346366,-0.051593],[109.352245,-0.058506],[109.353576,-0.060094]]}}'),(8,'Jalan Purnama','Provinsi',997.65,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[109.324265,-0.057912],[109.325058,-0.056988],[109.326024,-0.056108],[109.32729,-0.054756],[109.329093,-0.05321],[109.330766,-0.05175]]}}'),(9,'Jalan Diponegoro','Kabupaten',1336.24,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[109.33332,-0.03497],[109.335551,-0.032867],[109.337482,-0.030891],[109.339199,-0.029518],[109.342589,-0.027414]]}}');
+/*!40000 ALTER TABLE `jalan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `kemiskinan`
+--
+
+DROP TABLE IF EXISTS `kemiskinan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `kemiskinan` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_kepala` varchar(100) NOT NULL,
+ `jumlah_kk` int NOT NULL,
+ `alamat` text NOT NULL,
+ `lat` double NOT NULL,
+ `lng` double NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `kemiskinan`
+--
+
+LOCK TABLES `kemiskinan` WRITE;
+/*!40000 ALTER TABLE `kemiskinan` DISABLE KEYS */;
+/*!40000 ALTER TABLE `kemiskinan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `masjid`
+--
+
+DROP TABLE IF EXISTS `masjid`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `masjid` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_masjid` varchar(100) NOT NULL,
+ `pic_masjid` varchar(100) NOT NULL,
+ `alamat` text NOT NULL,
+ `radius` int DEFAULT '500',
+ `lat` double NOT NULL,
+ `lng` double NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `masjid`
+--
+
+LOCK TABLES `masjid` WRITE;
+/*!40000 ALTER TABLE `masjid` DISABLE KEYS */;
+/*!40000 ALTER TABLE `masjid` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `parsil_tanah`
+--
+
+DROP TABLE IF EXISTS `parsil_tanah`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `parsil_tanah` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `status_kepemilikan` enum('SHM','HGB','HGU','HP') NOT NULL,
+ `luas_tanah` double NOT NULL,
+ `geojson` text NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `parsil_tanah`
+--
+
+LOCK TABLES `parsil_tanah` WRITE;
+/*!40000 ALTER TABLE `parsil_tanah` DISABLE KEYS */;
+INSERT INTO `parsil_tanah` VALUES (1,'SHM',206633.96,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[109.343448,-0.042118],[109.3504,-0.042675],[109.350486,-0.047479],[109.343448,-0.042118]]]}}'),(2,'HGB',156134.99,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[109.343898,-0.047524],[109.351516,-0.049583],[109.344435,-0.050977],[109.343898,-0.047524]]]}}'),(4,'HGU',877993.51,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[109.356709,-0.031797],[109.373188,-0.041329],[109.369497,-0.030595],[109.356709,-0.031797]]]}}'),(5,'HP',397069.12,'{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[109.37233,-0.042359],[109.365163,-0.044721],[109.373403,-0.050947],[109.37233,-0.042359]]]}}');
+/*!40000 ALTER TABLE `parsil_tanah` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `spbu`
+--
+
+DROP TABLE IF EXISTS `spbu`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `spbu` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_spbu` varchar(100) NOT NULL,
+ `no_wa` varchar(20) NOT NULL,
+ `buka_24jam` enum('Ya','Tidak') NOT NULL,
+ `lat` double NOT NULL,
+ `lng` double NOT NULL,
+ `nama_pengelola` varchar(255) DEFAULT '',
+ `alamat_lengkap` text,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `spbu`
+--
+
+LOCK TABLES `spbu` WRITE;
+/*!40000 ALTER TABLE `spbu` DISABLE KEYS */;
+INSERT INTO `spbu` VALUES (2,'SPBU OSO MT.Haryono','081356746361','Tidak',-0.044932381323108256,109.33674216270448,'',''),(3,'SPBU Paris','081356746361','Ya',-0.03756252128204861,109.34192419052125,'',NULL),(6,'SPBU Paris','081356746365','Ya',-0.053347291136283656,109.35797452926637,'Saiful','Jalan Suka-suka');
+/*!40000 ALTER TABLE `spbu` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `wilayah`
+--
+
+DROP TABLE IF EXISTS `wilayah`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `wilayah` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_wilayah` varchar(100) DEFAULT NULL,
+ `geojson` text,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `wilayah`
+--
+
+LOCK TABLES `wilayah` WRITE;
+/*!40000 ALTER TABLE `wilayah` DISABLE KEYS */;
+/*!40000 ALTER TABLE `wilayah` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2026-06-13 18:16:56
diff --git a/database/webgis_baru.sql b/database/webgis_baru.sql
new file mode 100644
index 0000000..60f20a6
--- /dev/null
+++ b/database/webgis_baru.sql
@@ -0,0 +1,363 @@
+-- MySQL dump 10.13 Distrib 8.4.3, for Win64 (x86_64)
+--
+-- Host: localhost Database: webgis_baru
+-- ------------------------------------------------------
+-- Server version 8.4.3
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!50503 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `anggota_keluarga`
+--
+
+DROP TABLE IF EXISTS `anggota_keluarga`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `anggota_keluarga` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `id_warga` int NOT NULL,
+ `nama` varchar(255) NOT NULL,
+ `tanggal_lahir` date DEFAULT NULL,
+ `jenis_kelamin` enum('Laki-laki','Perempuan') DEFAULT NULL,
+ `hubungan_kk` enum('Kepala Keluarga','Istri/Suami','Anak','Orang Tua','Saudara','Lainnya') NOT NULL,
+ `pendidikan_terakhir` enum('Tidak Sekolah','SD','SMP','SMA','D3','S1','S2','S3') DEFAULT NULL,
+ `pekerjaan` varchar(100) DEFAULT NULL,
+ `riwayat_penyakit` text,
+ `kepemilikan_jaminan` enum('BPJS Kesehatan','KIS','BPJS Ketenagakerjaan','Tidak Ada') DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `id_warga` (`id_warga`),
+ CONSTRAINT `anggota_keluarga_ibfk_1` FOREIGN KEY (`id_warga`) REFERENCES `warga_miskin` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `anggota_keluarga`
+--
+
+LOCK TABLES `anggota_keluarga` WRITE;
+/*!40000 ALTER TABLE `anggota_keluarga` DISABLE KEYS */;
+INSERT INTO `anggota_keluarga` VALUES (2,13,'Mirna','1981-08-09','Perempuan','Istri/Suami','SD','Penjahit','Tidak ada','BPJS Kesehatan'),(5,16,'Siti','1980-01-02','Perempuan','Istri/Suami','SMA','Ibu Rumah Tangga','Tidak ada','BPJS Kesehatan'),(6,16,'Risnu','2000-09-09','Laki-laki','Anak','SMA','Pekerja Lepas','Tidak ada','BPJS Kesehatan'),(7,17,'Adi','1999-09-09','Laki-laki','Anak','SMP','Buruh Harian','Tidak ada','BPJS Kesehatan'),(8,18,'Santi','1980-09-09','Perempuan','Istri/Suami','SMA','Ibu Rumah Tangga','Tidak ada','BPJS Kesehatan');
+/*!40000 ALTER TABLE `anggota_keluarga` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `chat_pengurus`
+--
+
+DROP TABLE IF EXISTS `chat_pengurus`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `chat_pengurus` (
+ `id` int unsigned NOT NULL AUTO_INCREMENT,
+ `pengirim_id` int unsigned NOT NULL COMMENT 'user_id dari tabel users',
+ `nama_pengirim` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'nama_masjid atau username saat pesan dikirim',
+ `role_pengirim` enum('admin','pengurus_masjid') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pengurus_masjid',
+ `pesan` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `dibuat_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ KEY `idx_id` (`id`),
+ KEY `idx_pengirim` (`pengirim_id`),
+ KEY `idx_dibuat_at` (`dibuat_at`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Ruang diskusi / chat antar pengurus rumah ibadah';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `chat_pengurus`
+--
+
+LOCK TABLES `chat_pengurus` WRITE;
+/*!40000 ALTER TABLE `chat_pengurus` DISABLE KEYS */;
+INSERT INTO `chat_pengurus` VALUES (1,2,'Masjid Baitussalam','pengurus_masjid','test','2026-06-10 10:12:17'),(2,2,'Masjid Baitussalam','pengurus_masjid','test','2026-06-10 10:12:20'),(3,2,'Masjid Baitussalam','pengurus_masjid','test','2026-06-10 10:12:21'),(4,2,'Masjid Baitussalam','pengurus_masjid','test','2026-06-10 10:12:22');
+/*!40000 ALTER TABLE `chat_pengurus` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `donasi_digital`
+--
+
+DROP TABLE IF EXISTS `donasi_digital`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `donasi_digital` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_donatur` varchar(150) NOT NULL,
+ `jenis_donasi` varchar(50) DEFAULT 'Uang Tunai',
+ `nominal` int DEFAULT '0',
+ `deskripsi_barang` varchar(255) DEFAULT NULL,
+ `pesan_dukungan` text,
+ `metode_pembayaran` varchar(50) NOT NULL,
+ `ibadah_id` int DEFAULT NULL,
+ `status` enum('pending','berhasil','gagal') DEFAULT 'pending',
+ `bukti_transfer` varchar(255) DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `donasi_digital`
+--
+
+LOCK TABLES `donasi_digital` WRITE;
+/*!40000 ALTER TABLE `donasi_digital` DISABLE KEYS */;
+INSERT INTO `donasi_digital` VALUES (1,'Orang Baik','Uang Tunai',400000,NULL,'Semoga berkah...','QRIS',NULL,'berhasil','1780846324_6a258ef470a47.jpeg','2026-06-07 15:32:04'),(2,'Orang Berbagi','Uang Tunai',100000,NULL,'Semoga berkah...','QRIS',NULL,'berhasil','1780846886_6a2591260a245.jpeg','2026-06-07 15:41:26'),(3,'Orang SukaSuka','Uang Tunai',500000,NULL,'Semoga dapat digunakan selayaknya','QRIS',2,'berhasil','1780847228_6a25927c02043.jpeg','2026-06-07 15:47:08'),(4,'Cece Baik Hati','Uang Tunai',50000,NULL,'Peng an sun','QRIS',2,'berhasil','1780847618_6a25940293c28.jpeg','2026-06-07 15:53:38'),(5,'Orang Baik Hati','Uang Tunai',400000,NULL,'Berkah selalu','QRIS',3,'berhasil','1780847686_6a2594462e5ac.jpeg','2026-06-07 15:54:46'),(6,'Orang Baik','Uang Tunai',900000,NULL,'Semoga berkah...','QRIS',8,'berhasil','1780847876_6a2595042e5fb.jpeg','2026-06-07 15:57:56'),(7,'Novie','Uang Tunai',500000,NULL,'Berkah selalu','QRIS',2,'berhasil','1780924196_6a26bf245b673.jpeg','2026-06-08 13:09:56'),(8,'Orang Baik','Uang Tunai',50000,NULL,'Semoga berkah...','QRIS',2,'berhasil','1780986353_6a27b1f1336b0.jpeg','2026-06-09 06:25:53'),(9,'Novie','Uang Tunai',500000,NULL,'Semoga berkah','QRIS',2,'berhasil','1781086532_6a293944c7260.jpg','2026-06-10 10:15:32'),(10,'Orang Baik Hati','Uang Tunai',4000000,NULL,'Semoga Berkah','Transfer Bank',2,'berhasil','1781087138_6a293ba2f07d3.jpg','2026-06-10 10:25:38'),(11,'Orang Berbagi','Uang Tunai',500000,NULL,'Semoga Berkah','Transfer Bank',2,'berhasil','1781087211_6a293bebb761d.jpg','2026-06-10 10:26:51'),(12,'Novie','Uang Tunai',500000,NULL,'[BARANG] undefined | Pesan: Semoga berkah','QRIS',2,'berhasil','uploads/bukti_donasi/donasi_1781102960_6a297970957d0.jpg','2026-06-10 14:49:20'),(13,'Orang Baik','Uang Tunai',500000,NULL,'Semoga berkah','QRIS',2,'berhasil','uploads/bukti_donasi/donasi_1781103988_6a297d74b0289.jpg','2026-06-10 15:06:28'),(14,'Novie','Uang Tunai',500000,NULL,'Berkah selalu','QRIS',2,'berhasil','uploads/bukti_donasi/donasi_1781111479_6a299ab785056.jpg','2026-06-10 17:11:19'),(15,'Orang SukaSuka','Uang Tunai',500000,'','Berkah selalu','QRIS',2,'berhasil','uploads/bukti_donasi/donasi_1781137622_6a2a00d65153f.jpg','2026-06-11 00:27:02'),(16,'Anonim','Sembako',0,'5 kg beras','[BARANG] 5 kg beras | Pesan: Berkah selalu','Barang',2,'berhasil','uploads/bukti_donasi/donasi_1781137665_6a2a01012800a.jpg','2026-06-11 00:27:45'),(17,'Anonim','Bantuan Kesehatan',0,'3 pack obat Paracetamol','[BARANG] 3 pack obat Paracetamol | Pesan: Berkah selalu','Barang',2,'berhasil','uploads/bukti_donasi/donasi_1781138697_6a2a050990405.jpg','2026-06-11 00:44:57'),(18,'Novie','Bantuan Pendidikan',0,'12 Buku Non-Fiksi','[BARANG] 12 Buku Non-Fiksi | Pesan: Berkah selalu','Barang',2,'gagal','uploads/bukti_donasi/donasi_1781138979_6a2a06237ed16.jpg','2026-06-11 00:49:39');
+/*!40000 ALTER TABLE `donasi_digital` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `histori_bantuan`
+--
+
+DROP TABLE IF EXISTS `histori_bantuan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `histori_bantuan` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `warga_id` int NOT NULL,
+ `program_id` int DEFAULT NULL,
+ `jenis_id` int NOT NULL,
+ `jumlah` decimal(15,2) DEFAULT NULL,
+ `satuan_custom` varchar(50) DEFAULT NULL,
+ `tanggal_distribusi` date NOT NULL,
+ `nama_penyalur` varchar(100) DEFAULT NULL,
+ `via` varchar(100) DEFAULT NULL,
+ `status_terima` enum('sudah','belum') DEFAULT 'belum',
+ `catatan` text,
+ `operator_id` int DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ KEY `warga_id` (`warga_id`),
+ KEY `program_id` (`program_id`),
+ KEY `jenis_id` (`jenis_id`),
+ CONSTRAINT `histori_bantuan_ibfk_1` FOREIGN KEY (`warga_id`) REFERENCES `warga_miskin` (`id`) ON DELETE CASCADE,
+ CONSTRAINT `histori_bantuan_ibfk_2` FOREIGN KEY (`program_id`) REFERENCES `program_bantuan` (`id`) ON DELETE SET NULL,
+ CONSTRAINT `histori_bantuan_ibfk_3` FOREIGN KEY (`jenis_id`) REFERENCES `jenis_bantuan` (`id`) ON DELETE RESTRICT
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `histori_bantuan`
+--
+
+LOCK TABLES `histori_bantuan` WRITE;
+/*!40000 ALTER TABLE `histori_bantuan` DISABLE KEYS */;
+INSERT INTO `histori_bantuan` VALUES (3,6,NULL,1,1.00,'Rp 500.000','2026-06-08','Masjid Baitussalam',NULL,'belum','Bantuan uang tunai',NULL,'2026-06-08 12:53:50'),(4,19,NULL,1,1.00,'Rp 500.000','2026-06-08','Masjib B',NULL,'belum','Bantuan uang tunai',NULL,'2026-06-08 13:07:14'),(5,3,NULL,1,1.00,'500000','2026-06-09','Masjid Baitussalam',NULL,'belum','Bantuan uang tunai',NULL,'2026-06-09 06:26:35'),(6,35,NULL,1,1.00,'Rp 500.000','2026-06-10','Masjid Baitussalam',NULL,'belum','Bantuan uang tunai',NULL,'2026-06-10 04:50:23'),(7,8,NULL,2,1.00,'2 kg Beras','2026-06-10','Masjid Baitussalam',NULL,'belum','Bantuan Sembako',NULL,'2026-06-10 12:57:42'),(8,13,NULL,1,1.00,'Rp 500.000','2026-06-10','Masjid Baitussalam',NULL,'belum','Bantuan uang tunai',NULL,'2026-06-10 13:38:15');
+/*!40000 ALTER TABLE `histori_bantuan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `jenis_bantuan`
+--
+
+DROP TABLE IF EXISTS `jenis_bantuan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `jenis_bantuan` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama` varchar(100) NOT NULL,
+ `satuan` varchar(50) DEFAULT NULL,
+ `keterangan` text,
+ `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `jenis_bantuan`
+--
+
+LOCK TABLES `jenis_bantuan` WRITE;
+/*!40000 ALTER TABLE `jenis_bantuan` DISABLE KEYS */;
+INSERT INTO `jenis_bantuan` VALUES (1,'Uang Tunai','rupiah',NULL,'2026-05-21 04:43:07'),(2,'Sembako','paket',NULL,'2026-05-21 04:43:07'),(3,'Bantuan Kesehatan','rupiah',NULL,'2026-05-21 04:43:07'),(4,'Bantuan Pendidikan','rupiah',NULL,'2026-05-21 04:43:07'),(5,'Lainnya','custom',NULL,'2026-05-21 04:43:07'),(6,'Pakaian','paket',NULL,'2026-06-08 12:12:46');
+/*!40000 ALTER TABLE `jenis_bantuan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `laporan_warga`
+--
+
+DROP TABLE IF EXISTS `laporan_warga`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `laporan_warga` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `pelapor_id` int NOT NULL,
+ `tipe_laporan` enum('diri_sendiri','orang_lain') DEFAULT 'orang_lain',
+ `nama_kk` varchar(150) NOT NULL,
+ `jumlah_anggota` int DEFAULT '1',
+ `alamat` text NOT NULL,
+ `lat` decimal(10,7) DEFAULT '0.0000000',
+ `lng` decimal(10,7) DEFAULT '0.0000000',
+ `pekerjaan` varchar(100) DEFAULT '',
+ `keterangan` text,
+ `is_fakir_miskin` tinyint(1) DEFAULT '0',
+ `is_dhuafa` tinyint(1) DEFAULT '0',
+ `is_lansia_tunggal` tinyint(1) DEFAULT '0',
+ `is_anak_yatim` tinyint(1) DEFAULT '0',
+ `is_korban_bencana` tinyint(1) DEFAULT '0',
+ `is_disabilitas` tinyint(1) DEFAULT '0',
+ `status` enum('menunggu','diverifikasi','ditolak') DEFAULT 'menunggu',
+ `catatan_admin` text,
+ `warga_id` int DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `laporan_warga`
+--
+
+LOCK TABLES `laporan_warga` WRITE;
+/*!40000 ALTER TABLE `laporan_warga` DISABLE KEYS */;
+INSERT INTO `laporan_warga` VALUES (1,5,'orang_lain','Dinda',1,'Gang Kelantan 4',-0.0301212,109.3414723,'Tidak bekerja','Sebatang Kara',1,0,0,0,0,0,'diverifikasi',NULL,39,'2026-06-11 01:36:18','2026-06-11 01:45:35'),(2,1,'diri_sendiri','Dind',1,'Gang Kelantan 4',-0.0301245,109.3414723,'Tidak bekerja','Sebatang Kara',1,0,0,0,0,0,'diverifikasi',NULL,40,'2026-06-11 01:46:33','2026-06-11 01:46:51');
+/*!40000 ALTER TABLE `laporan_warga` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `program_bantuan`
+--
+
+DROP TABLE IF EXISTS `program_bantuan`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `program_bantuan` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama` varchar(150) NOT NULL,
+ `sumber_dana` varchar(100) DEFAULT NULL,
+ `periode` varchar(50) DEFAULT NULL,
+ `tanggal` date DEFAULT NULL,
+ `keterangan` text,
+ `status` enum('aktif','selesai') DEFAULT 'aktif',
+ `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `program_bantuan`
+--
+
+LOCK TABLES `program_bantuan` WRITE;
+/*!40000 ALTER TABLE `program_bantuan` DISABLE KEYS */;
+/*!40000 ALTER TABLE `program_bantuan` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `rumah_ibadah`
+--
+
+DROP TABLE IF EXISTS `rumah_ibadah`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `rumah_ibadah` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_tempat` varchar(100) NOT NULL,
+ `kategori` varchar(50) DEFAULT 'Masjid',
+ `pic` varchar(100) NOT NULL,
+ `alamat` text NOT NULL,
+ `radius` int DEFAULT '500',
+ `lat` double NOT NULL,
+ `lng` double NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `rumah_ibadah`
+--
+
+LOCK TABLES `rumah_ibadah` WRITE;
+/*!40000 ALTER TABLE `rumah_ibadah` DISABLE KEYS */;
+INSERT INTO `rumah_ibadah` VALUES (2,'Masjid Baitussalam','Masjid','Susanto','Jalan Penjara',1200,-0.04770244173765413,109.36466932296754),(3,'Masjid Attaqwa','Masjid','Saiful','Jalan Merdeka Nomor 12',1250,-0.053773348619954704,109.37674999237062),(9,'Masjid Al-Ikhlas','Masjid','Saiful','Gang sukasuka',700,-0.0611359793283,109.35743808746),(10,'Gereja SukaCita','Gereja','Dito','Jalan SukaCita',500,-0.070405205159816,109.35973405838),(11,'GBU Tahu Healing Movement','Gereja','Sintia','Gang Sepakat',700,-0.03280288861396,109.36896622181);
+/*!40000 ALTER TABLE `rumah_ibadah` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `users` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL,
+ `password` varchar(255) NOT NULL,
+ `role` enum('admin','pengurus_masjid','walikota','warga') NOT NULL,
+ `nama_masjid` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `username` (`username`)
+) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `users`
+--
+
+LOCK TABLES `users` WRITE;
+/*!40000 ALTER TABLE `users` DISABLE KEYS */;
+INSERT INTO `users` VALUES (1,'admin','$2y$10$wTTooOeX5l97AF8pXLq8AOk8Pz7B0HMrXT8xF92agpKEiJLr3uZBu','admin',NULL),(2,'pengurus_baitussalam','$2y$10$sOwd9h/NuYYwvGBj6U8fn.LFS871MoMEb/arMXtdLmTg0qrCqMEWm','pengurus_masjid','Masjid Baitussalam'),(4,'warga_test','12345','warga',NULL),(5,'warga_1','$2y$10$TwlkQR7XrsON2Zx.uTHHU.m8B9IHPJlxkuto2VPEkDUEu04tcFV8O','warga',NULL),(6,'walikota','$2y$10$ktcesFeAQ20D1B40UQkRO.0VoIhHK3fO69/JWd7cvFPkulSD8mYcO','walikota',NULL),(7,'pengurus_al-ikhlas','$2y$10$wSJRUyuk09CgKQ4IOgSjx.MTceOXRrAh6iNp2ZBkWH/wZZZp/l0nq','pengurus_masjid',NULL);
+/*!40000 ALTER TABLE `users` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `warga_miskin`
+--
+
+DROP TABLE IF EXISTS `warga_miskin`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `warga_miskin` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `nama_kk` varchar(100) NOT NULL,
+ `jumlah_anggota` int NOT NULL,
+ `alamat` text NOT NULL,
+ `tanggal_lahir` date DEFAULT NULL COMMENT 'Tanggal lahir kepala keluarga',
+ `pendidikan_terakhir` enum('Tidak Sekolah','SD','SMP','SMA','D3','S1','S2','S3') DEFAULT NULL COMMENT 'Pendidikan terakhir kepala keluarga',
+ `pekerjaan` varchar(100) DEFAULT NULL COMMENT 'Pekerjaan/mata pencaharian utama',
+ `riwayat_penyakit` text COMMENT 'Penyakit kronis atau disabilitas',
+ `kepemilikan_jaminan` enum('BPJS Kesehatan','KIS','BPJS Ketenagakerjaan','Tidak Ada') DEFAULT NULL COMMENT 'Jaminan sosial yang dimiliki',
+ `is_fakir_miskin` tinyint(1) DEFAULT '0',
+ `is_dhuafa` tinyint(1) DEFAULT '0',
+ `is_lansia_tunggal` tinyint(1) DEFAULT '0',
+ `is_anak_yatim` tinyint(1) DEFAULT '0',
+ `is_korban_bencana` tinyint(1) DEFAULT '0',
+ `is_disabilitas` tinyint(1) DEFAULT '0',
+ `lat` double NOT NULL,
+ `lng` double NOT NULL,
+ `diinput_oleh_id` int DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `warga_miskin`
+--
+
+LOCK TABLES `warga_miskin` WRITE;
+/*!40000 ALTER TABLE `warga_miskin` DISABLE KEYS */;
+INSERT INTO `warga_miskin` VALUES (1,'Budi',3,'Jalan Penjara Gang Sukajaya Nomor 10',NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,-0.047732567775941,109.36592459679,0),(3,'Dilan',11,'Jalan Penjara Gang Sukacita Nomor 22',NULL,NULL,'','',NULL,0,0,0,0,0,0,-0.046885827162767,109.36652541161,0),(4,'Gilang',3,'Jalan Penjara Gang Sukamakmur Nomor 23',NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,-0.047759510540325,109.36508238316,0),(6,'Susanto',3,'Jalan Penjara Gang Sukajadi Nomor 67',NULL,NULL,'','',NULL,0,0,0,0,0,0,-0.048850113949622,109.36640739441,0),(7,'Udin',3,'Jalan Suka Suka Nomo 22',NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,-0.045735556730363,109.37108516693,0),(8,'Yanto',2,'Jalan Suka Suka Nomor 45',NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,-0.051202846936577,109.37403023243,0),(12,'Budi Pratama',2,'Jalan Sukajadi',NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,-0.044194538704672,109.38108444214,0),(13,'Budi Pratama',2,'Jalan Sukajadi',NULL,NULL,'','',NULL,0,0,0,0,0,0,-0.044194538704672,109.38108444214,0),(16,'Aldi',3,'Jalan Adi Sucipto','1980-07-09','SMA','Buruh Harian','Tidak ada','BPJS Ketenagakerjaan',0,0,0,0,0,0,-0.057883807006538,109.36466932297,0),(17,'Budi',2,'Jalan Tani','1999-07-09','SMP','Buruh','Diabetes','BPJS Kesehatan',1,0,1,0,0,0,-0.055182653729648,109.35788869858,0),(18,'Budi',2,'Jalan Sukacita','1987-09-09','SMA','Buruh Harian','Stroke','BPJS Kesehatan',0,0,0,0,0,0,-0.049697732014782,109.37239408493,0),(19,'Budi',1,'Jalan Suka Suka','1980-04-12','SMA','Buruh','Tidak ada','BPJS Kesehatan',0,0,0,0,0,0,-0.049614296697837,109.3735742569,0),(20,'Budi',1,'Jalan Siam','1999-09-09','SD','Buruh','Tidak ada','BPJS Kesehatan',1,0,1,0,0,0,-0.054503046022846,109.37323629856,0),(30,'Budi',1,'n','1960-08-09','SD','Buruh harian','Tidak ada','BPJS Ketenagakerjaan',1,0,0,0,0,0,-0.04289238669434,109.36996936798,0),(32,'Santo',1,'Gang Baitusalam','1970-09-09','SMP','Petani','Tidak ada','BPJS Kesehatan',1,0,0,0,0,0,-0.048292924722202,109.36431527138,0),(33,'Dubi',1,'Gang Sakura','1970-09-09','SMP','Penjahit','Tidak ada','BPJS Kesehatan',0,0,1,0,0,0,-0.063513293480067,109.37121391296,1),(35,'Alip',1,'Jalan Pemda','1970-09-09','SMP','Tidak bekerja','Tidak ada','BPJS Kesehatan',0,0,0,0,0,1,-0.048206302135675,109.37461495399,1),(36,'Ikbal',1,'Gang Husan nomor 23','1980-09-08','SMA','Tukang Parkir','Tidak ada','BPJS Kesehatan',0,0,0,0,1,1,-0.045705589587549,109.37252283096,1),(38,'a',1,'a','1980-09-09','SMA','Buruh Harian','Tidak ada','BPJS Kesehatan',1,0,1,0,0,0,-0.069716399923345,109.36863899231,1),(39,'Dinda',1,'Gang Kelantan 4',NULL,NULL,'Tidak bekerja','',NULL,1,0,0,0,0,0,-0.0301212,109.3414723,5);
+/*!40000 ALTER TABLE `warga_miskin` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2026-06-13 18:17:00
diff --git a/webgisdatakemiskinan/get_schema.php b/webgisdatakemiskinan/get_schema.php
new file mode 100644
index 0000000..d0ca314
--- /dev/null
+++ b/webgisdatakemiskinan/get_schema.php
@@ -0,0 +1,12 @@
+query("SHOW TABLES");
+$tables = $tablesStmt->fetchAll(PDO::FETCH_COLUMN);
+
+$schema = [];
+foreach ($tables as $table) {
+ $stmt = $pdo->query("DESCRIBE $table");
+ $schema[$table] = $stmt->fetchAll(PDO::FETCH_ASSOC);
+}
+
+echo json_encode($schema, JSON_PRETTY_PRINT);
diff --git a/webgisspbu-parsiltanah/dashboard.php b/webgisspbu-parsiltanah/dashboard.php
new file mode 100644
index 0000000..d9cf048
--- /dev/null
+++ b/webgisspbu-parsiltanah/dashboard.php
@@ -0,0 +1,458 @@
+query("SELECT * FROM spbu");
+if ($res) {
+ while($row = $res->fetch_assoc()) {
+ $spbu_data[] = $row;
+ }
+}
+
+// Fetch Jalan
+$jalan_data = [];
+$res = $conn->query("SELECT * FROM jalan");
+if ($res) {
+ while($row = $res->fetch_assoc()) {
+ $jalan_data[] = $row;
+ }
+}
+
+// Fetch Parsil
+$parsil_data = [];
+$res = $conn->query("SELECT * FROM parsil_tanah");
+if ($res) {
+ while($row = $res->fetch_assoc()) {
+ $parsil_data[] = $row;
+ }
+}
+
+$conn->close();
+?>
+
+
+
+
+
+ Dashboard Data - WebGIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0): ?>
+
+
+
+ | ID |
+ Nama SPBU |
+ Pengelola |
+ Kontak |
+ Alamat Lengkap |
+ Status |
+ Aksi |
+
+
+
+
+
+ | #= $row['id'] ?> |
+ = htmlspecialchars($row['nama_spbu']) ?> |
+ = htmlspecialchars($row['nama_pengelola'] ? $row['nama_pengelola'] : '-') ?> |
+ = htmlspecialchars($row['no_wa']) ?> |
+ = htmlspecialchars($row['alamat_lengkap'] ? $row['alamat_lengkap'] : '-') ?> |
+
+
+ Buka 24 Jam
+
+ Tutup Malam
+
+ |
+
+
+
+ Lihat di Peta
+
+ |
+
+
+
+
+
+
Belum ada data SPBU tersimpan.
+
+
+
+
+
+
+
+ 0): ?>
+
+
+
+ | ID |
+ Nama Jalan |
+ Status Jalan |
+ Panjang |
+
+
+
+
+
+ | #= $row['id'] ?> |
+ = htmlspecialchars($row['nama_jalan']) ?> |
+ = htmlspecialchars($row['status_jalan']) ?> |
+ = htmlspecialchars($row['panjang_jalan']) ?> m |
+
+
+
+
+
+
Belum ada data Jalan tersimpan.
+
+
+
+
+
+
+
+ 0): ?>
+
+
+
+ | ID |
+ Status Kepemilikan |
+ Luas Tanah |
+
+
+
+
+
+ | #= $row['id'] ?> |
+ = htmlspecialchars($row['status_kepemilikan']) ?> |
+ = htmlspecialchars($row['luas_tanah']) ?> m² |
+
+
+
+
+
+
Belum ada data Parsil Tanah tersimpan.
+
+
+
+
+
+
+
+
+
diff --git a/webgisspbu-parsiltanah/db_update.php b/webgisspbu-parsiltanah/db_update.php
index 0c6f89a..910e7d5 100644
--- a/webgisspbu-parsiltanah/db_update.php
+++ b/webgisspbu-parsiltanah/db_update.php
@@ -1,6 +1,6 @@
query($sql) === TRUE) {
echo "Sukses_DB";
} else {
diff --git a/webgisspbu-parsiltanah/index.php b/webgisspbu-parsiltanah/index.php
index bbf8b2f..c076c55 100644
--- a/webgisspbu-parsiltanah/index.php
+++ b/webgisspbu-parsiltanah/index.php
@@ -54,6 +54,7 @@
box-shadow: 0 1px 16px rgba(15,23,42,0.08);
display: flex;
align-items: center;
+ justify-content: space-between;
padding: 0 16px;
}
.nav-brand {
@@ -75,6 +76,23 @@
color: var(--navy);
letter-spacing: -0.3px;
}
+ .nav-link {
+ text-decoration: none;
+ font-size: 13px;
+ font-weight: 700;
+ color: var(--blue);
+ display: flex;
+ align-items: center;
+ gap: 6px;
+ padding: 8px 12px;
+ border-radius: 8px;
+ transition: all 0.2s;
+ background: var(--blue-l);
+ }
+ .nav-link:hover {
+ background: var(--blue);
+ color: white;
+ }
/* ── MAP ── */
#map {
@@ -382,6 +400,12 @@
WebGIS SPBU & Parsil Tanah
+
+
+ Dashboard Data
+
@@ -572,6 +596,10 @@
+
+
+
+
+ Alamat: ${spbu.alamat_lengkap || '-'}
Status: ${is24 ? 'Buka 24 Jam' : 'Tutup Malam'}
Geser pin untuk mengubah lokasi koordinat.
-
-
-
+
+
+
+
+
+
@@ -657,6 +694,10 @@
+
+
+
+