diff --git a/Manajemen_Jalan_dan_Parsil/WebGIS.db b/Manajemen_Jalan_dan_Parsil/WebGIS.db deleted file mode 100644 index 9439ba0..0000000 Binary files a/Manajemen_Jalan_dan_Parsil/WebGIS.db and /dev/null differ diff --git a/WebGIS_PovertyMap/backup_webgis_p3.sql b/WebGIS_PovertyMap/backup_webgis_p3.sql deleted file mode 100644 index e69de29..0000000 diff --git a/WebGIS_PovertyMap/database.sql b/WebGIS_PovertyMap/database.sql deleted file mode 100644 index dca7763..0000000 --- a/WebGIS_PovertyMap/database.sql +++ /dev/null @@ -1,88 +0,0 @@ --- ============================================================ --- DATABASE: webgis_p3 --- Pertemuan 3 – Layer Groups and Layers Control --- Data SPBU dengan 2 Layer Group: Buka 24 Jam & Tidak 24 Jam --- ============================================================ - -CREATE DATABASE IF NOT EXISTS webgis_p3 - CHARACTER SET utf8mb4 - COLLATE utf8mb4_unicode_ci; - -USE webgis_p3; - --- ---- Tabel Data Jalan (Polyline) ---- -CREATE TABLE IF NOT EXISTS data_jalan ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_jalan VARCHAR(200) NOT NULL, - status ENUM('Nasional','Provinsi','Kabupaten') NOT NULL DEFAULT 'Kabupaten', - panjang_m DOUBLE NOT NULL DEFAULT 0, - geojson LONGTEXT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---- Tabel Data Parsil Tanah (Polygon) ---- -CREATE TABLE IF NOT EXISTS data_parsil ( - id INT AUTO_INCREMENT PRIMARY KEY, - no_parsil VARCHAR(100) NOT NULL, - pemilik VARCHAR(200) NOT NULL, - status ENUM('SHM','HGB','HGU','HP') NOT NULL DEFAULT 'SHM', - luas_m2 DOUBLE NOT NULL DEFAULT 0, - geojson LONGTEXT NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---- Tabel Data SPBU (Point/Marker) ---- --- buka_24_jam: 'Ya' → Layer Group "SPBU 24 Jam" --- 'Tidak' → Layer Group "SPBU Tidak 24 Jam" -CREATE TABLE IF NOT EXISTS data_spbu ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_spbu VARCHAR(200) NOT NULL, - no_wa VARCHAR(20) NOT NULL, - buka_24_jam ENUM('Ya','Tidak') NOT NULL DEFAULT 'Tidak', - latitude DOUBLE NOT NULL, - longitude DOUBLE NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---- Data Contoh SPBU (opsional, untuk testing) ---- -INSERT INTO data_spbu (nama_spbu, no_wa, buka_24_jam, latitude, longitude) VALUES -('SPBU Jl. Ahmad Yani', '0812-1111-0001', 'Ya', -0.0400, 109.3200), -('SPBU Jl. Gajah Mada', '0812-1111-0002', 'Ya', -0.0520, 109.3450), -('SPBU Jl. Diponegoro', '0812-1111-0003', 'Tidak', -0.0610, 109.3600), -('SPBU Jl. Sutan Syahrir', '0812-1111-0004', 'Tidak', -0.0480, 109.3700), -('SPBU Jl. Kom. Yos Sudarso', '0812-1111-0005', 'Ya', -0.0350, 109.3550); - --- ============================================================ --- Tabel Data Kemiskinan (Point/Marker) --- ============================================================ -CREATE TABLE IF NOT EXISTS data_kemiskinan ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_kk VARCHAR(200) NOT NULL, -- Nama kepala keluarga - jumlah_kk INT NOT NULL DEFAULT 1, -- Jumlah anggota dalam KK - alamat TEXT NOT NULL, - latitude DOUBLE NOT NULL, - longitude DOUBLE NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ============================================================ --- Tabel Data Rumah Ibadah (Point/Marker + Radius Buffer) --- jenis: Masjid, Gereja, Pura, Vihara, Klenteng --- radius_m: radius lingkaran buffer dalam meter (100 – 5000) --- ============================================================ -CREATE TABLE IF NOT EXISTS data_masjid ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_masjid VARCHAR(200) NOT NULL, - jenis ENUM('Masjid','Gereja','Pura','Vihara','Klenteng') NOT NULL DEFAULT 'Masjid', - pic_masjid VARCHAR(200) NOT NULL, -- Person In Charge - alamat TEXT NOT NULL, - radius_m INT NOT NULL DEFAULT 500, -- Radius buffer (100-5000 m) - latitude DOUBLE NOT NULL, - longitude DOUBLE NOT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/WebGIS_PovertyMap/migrasi_proses_bisnis.sql b/WebGIS_PovertyMap/migrasi_proses_bisnis.sql deleted file mode 100644 index d8c4feb..0000000 --- a/WebGIS_PovertyMap/migrasi_proses_bisnis.sql +++ /dev/null @@ -1,95 +0,0 @@ --- ============================================================ --- MIGRASI: Penyesuaian Proses Bisnis WebGIS v2.0 --- Jalankan di phpMyAdmin setelah database_lengkap.sql --- ============================================================ - -USE webgis_p3; - --- ── 1. Tambah kolom NIK, No WA, dan alasan_tolak ke laporan_masyarakat ── --- Periksa apakah kolom sudah ada sebelum menambahkan - --- Tambah kolom nik -SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'webgis_p3' AND TABLE_NAME = 'laporan_masyarakat' AND COLUMN_NAME = 'nik'); -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE laporan_masyarakat ADD COLUMN nik VARCHAR(20) DEFAULT NULL AFTER nama_pelapor', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- Tambah kolom no_wa -SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'webgis_p3' AND TABLE_NAME = 'laporan_masyarakat' AND COLUMN_NAME = 'no_wa'); -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE laporan_masyarakat ADD COLUMN no_wa VARCHAR(20) DEFAULT NULL AFTER nik', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- Tambah kolom alasan_tolak -SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'webgis_p3' AND TABLE_NAME = 'laporan_masyarakat' AND COLUMN_NAME = 'alasan_tolak'); -SET @sql = IF(@col_exists = 0, - 'ALTER TABLE laporan_masyarakat ADD COLUMN alasan_tolak TEXT DEFAULT NULL AFTER status', - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- ── 2. Perluas ENUM status di laporan_masyarakat ── --- Tambah status: Diverifikasi, Ditolak -ALTER TABLE laporan_masyarakat - MODIFY COLUMN status ENUM('Pending','Diproses','Diverifikasi','Ditolak','Selesai') - NOT NULL DEFAULT 'Pending'; - --- ── 3. Pastikan tabel riwayat_bantuan ada ── -CREATE TABLE IF NOT EXISTS riwayat_bantuan ( - id INT AUTO_INCREMENT PRIMARY KEY, - id_kemiskinan INT NOT NULL, - pemberi VARCHAR(200) NOT NULL, - jenis_bantuan VARCHAR(200) NOT NULL, - tanggal DATE NOT NULL, - keterangan TEXT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (id_kemiskinan) REFERENCES data_kemiskinan(id) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ── 4. Pastikan tabel laporan_masyarakat ada ── -CREATE TABLE IF NOT EXISTS laporan_masyarakat ( - id INT AUTO_INCREMENT PRIMARY KEY, - nama_pelapor VARCHAR(200) NOT NULL, - nik VARCHAR(20) DEFAULT NULL, - no_wa VARCHAR(20) DEFAULT NULL, - deskripsi TEXT NOT NULL, - latitude DOUBLE NOT NULL, - longitude DOUBLE NOT NULL, - status ENUM('Pending','Diproses','Diverifikasi','Ditolak','Selesai') NOT NULL DEFAULT 'Pending', - alasan_tolak TEXT DEFAULT NULL, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ── 5. Tambahkan kolom yang mungkin belum ada di data_kemiskinan ── --- status_bantuan -SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'webgis_p3' AND TABLE_NAME = 'data_kemiskinan' AND COLUMN_NAME = 'status_bantuan'); -SET @sql = IF(@col_exists = 0, - "ALTER TABLE data_kemiskinan ADD COLUMN status_bantuan VARCHAR(20) NOT NULL DEFAULT 'Belum' AFTER longitude", - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- kategori -SET @col_exists = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_SCHEMA = 'webgis_p3' AND TABLE_NAME = 'data_kemiskinan' AND COLUMN_NAME = 'kategori'); -SET @sql = IF(@col_exists = 0, - "ALTER TABLE data_kemiskinan ADD COLUMN kategori VARCHAR(50) NOT NULL DEFAULT 'Miskin' AFTER status_bantuan", - 'SELECT 1'); -PREPARE stmt FROM @sql; -EXECUTE stmt; -DEALLOCATE PREPARE stmt; - --- ── 6. Password semua akun: "password" ── --- Jalankan update_pass.php atau generate_hash.php jika database sudah ada. diff --git a/WebGIS_PovertyMap/users_migration.sql b/WebGIS_PovertyMap/users_migration.sql deleted file mode 100644 index 8bf4c2f..0000000 --- a/WebGIS_PovertyMap/users_migration.sql +++ /dev/null @@ -1,82 +0,0 @@ --- ============================================================ --- MIGRASI: Tabel Users & Role-Based Access Control --- WebGIS Poverty Mapping – Sistem Autentikasi --- Jalankan di phpMyAdmin atau MySQL CLI setelah database.sql --- ============================================================ - -USE webgis_p3; - --- ── Tabel pengguna ───────────────────────────────────────── -CREATE TABLE IF NOT EXISTS users ( - id INT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(100) NOT NULL UNIQUE, - nama_lengkap VARCHAR(200) NOT NULL, - role ENUM('admin','petugas','pengurus','walikota') NOT NULL, - password_hash VARCHAR(255) NOT NULL, - aktif TINYINT(1) NOT NULL DEFAULT 1, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - INDEX idx_role (role), - INDEX idx_aktif (aktif) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ── Akun demo (password semua akun: "password") ── --- Hash bcrypt digenerate dengan PHP password_hash('password', PASSWORD_DEFAULT) --- --- admin → password --- petugas → password --- pengurus → password --- walikota → password - -INSERT INTO users (username, nama_lengkap, role, password_hash) VALUES -( - 'admin', - 'Administrator Sistem', - 'admin', - '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' -), -( - 'petugas', - 'Petugas Lapangan', - 'petugas', - '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' -), -( - 'pengurus', - 'Pengurus Rumah Ibadah', - 'pengurus', - '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' -), -( - 'walikota', - 'Walikota Pontianak', - 'walikota', - '$2y$10$mhMxyKlOSSTQxfmWXEncfe1AF56CJ8fb.v0h0CYZ.ELQQd8iP5LrG' -); - --- !! Untuk database yang sudah ada, jalankan update_pass.php atau generate_hash.php !! - --- ── Catatan hak akses per role ────────────────────────────── -/* - ROLE: admin - ───────────────────────────────────────────────────────────── - • CRUD semua data: SPBU, kemiskinan, rumah ibadah - • Dapat melihat semua layer & analisis spasial - • Fitur FAB Tambah: SPBU, Kemiskinan, Rumah Ibadah - - ROLE: petugas - ───────────────────────────────────────────────────────────── - • Input & edit data kemiskinan (CREATE + UPDATE + DELETE) - • View semua data (read-only untuk SPBU & Rumah Ibadah) - • Fitur FAB Tambah: hanya Kemiskinan - • Tidak dapat hapus data SPBU atau Rumah Ibadah - • Tidak dapat tambah/edit SPBU atau Rumah Ibadah - - ROLE: pengurus - ───────────────────────────────────────────────────────────── - • Input & edit data rumah ibadah miliknya (CREATE + UPDATE + DELETE) - • View data kemiskinan (read-only) - • Fitur FAB Tambah: hanya Rumah Ibadah - • Tidak dapat hapus data SPBU atau kemiskinan - • Tidak dapat tambah/edit SPBU atau kemiskinan -*/ diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 36a62bc..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -services: - web: - build: . - ports: - - "8084:80" - environment: - DB_HOST: db - DB_USER: webgis - DB_PASS: webgis123 - POVERTY_DB_NAME: webgis_p3 - SPBU_DB_NAME: webgis_spbu - JALAN_DB_NAME: WEB_GIS - depends_on: - db: - condition: service_healthy - - db: - image: mysql:8.0 - environment: - MYSQL_ROOT_PASSWORD: root123 - MYSQL_USER: webgis - MYSQL_PASSWORD: webgis123 - MYSQL_DATABASE: webgis_p3 - ports: - - "3307:3306" - volumes: - - mysql_data:/var/lib/mysql - - ./docker/init-databases.sql:/docker-entrypoint-initdb.d/init.sql:ro - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot123"] - interval: 5s - timeout: 5s - retries: 10 - -volumes: - mysql_data: \ No newline at end of file diff --git a/docker/init-databases.sql b/docker/init-databases.sql index 8f96437..89d9bad 100644 --- a/docker/init-databases.sql +++ b/docker/init-databases.sql @@ -169,7 +169,6 @@ INSERT IGNORE INTO data_spbu (nama_spbu, alamat, no_wa, buka_24_jam, latitude, l ('SPBU Jl. Kom. Yos Sudarso', 'Jl. Kom. Yos Sudarso No. 22, Pontianak', '0812-1111-0005', 'Ya', -0.0350, 109.3550), ('SPBU Jl. Tanjung Raya', 'Jl. Tanjung Raya No. 101, Pontianak', '0812-1111-0006', 'Tidak', -0.0580, 109.3300), ('SPBU Jl. Veteran', 'Jl. Veteran No. 33, Pontianak', '0812-1111-0007', 'Ya', -0.0450, 109.3380); -) -- Import data WEB_GIS USE WEB_GIS;