commit be2f139a8f310d26475c6a673c6b08ec638efe69 Author: rekywhyd Date: Wed Jun 17 15:41:34 2026 +0700 first commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..610a181 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM php:8.2-apache + +# Install mysqli extension +RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli + +# Copy application files to the web server root +COPY . /var/www/html/ + +# Expose web port +EXPOSE 80 diff --git a/README.md b/README.md new file mode 100644 index 0000000..aee3cd5 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# gis_tugas diff --git a/database.sql b/database.sql new file mode 100644 index 0000000..7c13311 --- /dev/null +++ b/database.sql @@ -0,0 +1,33 @@ +DROP DATABASE IF EXISTS gis_tugas; +CREATE DATABASE gis_tugas; +USE gis_tugas; + +-- From gis_point +CREATE TABLE data_spbu ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_spbu VARCHAR(255) NOT NULL, + alamat TEXT NOT NULL, + latitude DOUBLE NOT NULL, + longitude DOUBLE NOT NULL, + jenis_layanan ENUM('24 Jam', 'Reguler') NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- From gis_polyline (and gis_polygon) +CREATE TABLE data_jalan ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_jalan VARCHAR(255) NOT NULL, + status_jalan ENUM('Nasional', 'Provinsi', 'Kabupaten') NOT NULL, + geojson_data TEXT NOT NULL, + panjang_jalan FLOAT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- From gis_polygon +CREATE TABLE data_parsil ( + id INT AUTO_INCREMENT PRIMARY KEY, + nomor_parsil VARCHAR(100), + status_sertifikat ENUM('SHM', 'HGB', 'HGU', 'HP'), + geojson_data TEXT, + luas_m2 FLOAT +); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2da3065 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.8' + +services: + web: + build: + context: . + dockerfile: Dockerfile + environment: + - DB_HOST=db + - DB_USER=root + - DB_PASS=coolify_gis_secure_pass + - DB_NAME=gis_tugas + depends_on: + - db + + db: + image: mysql:8.0 + restart: always + environment: + - MYSQL_ROOT_PASSWORD=coolify_gis_secure_pass + - MYSQL_DATABASE=gis_tugas + volumes: + - db-data:/var/lib/mysql + # Automatically initialize database schema on first run + - ./database.sql:/docker-entrypoint-initdb.d/database.sql:ro + +volumes: + db-data: diff --git a/index.php b/index.php new file mode 100644 index 0000000..67dc850 --- /dev/null +++ b/index.php @@ -0,0 +1,322 @@ + + + + + + GeoPortal - Dashboard WebGIS + + + + + + + + + + + +
+

Sistem Informasi Geografis

+

Platform visualisasi data pemetaan berbasis spasial.

+
+ +
+ +
+ + + + + diff --git a/point/config.php b/point/config.php new file mode 100644 index 0000000..d45a09f --- /dev/null +++ b/point/config.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/point/index.php b/point/index.php new file mode 100644 index 0000000..1d63f01 --- /dev/null +++ b/point/index.php @@ -0,0 +1,366 @@ + + + + + + WebGIS SPBU - Layer Groups & Control + + + + + +
+

📍 Manajemen SPBU (Point)

+
+ +
+ +
+

Input Data Baru

+
+
+ Nama SPBU: + +
+
+ Alamat: + +
+
+ Jenis Layanan: + +
+
+ Pilih jenis layanan, lalu gunakan ikon marker di kiri peta untuk meletakkan titik. +
+ +
+ +
+

Data Informasi

+ + + + + + + + + + + + + + + + "; + } + ?> + +
Nama SPBUAlamatStatusKoordinat
{$row['nama_spbu']}{$row['alamat']}{$row['jenis_layanan']}{$row['latitude']}, {$row['longitude']}
+
+ + + + + +
+ + \ No newline at end of file diff --git a/point/save.php b/point/save.php new file mode 100644 index 0000000..fad5770 --- /dev/null +++ b/point/save.php @@ -0,0 +1,20 @@ + 'success']); + } else { + echo json_encode(['status' => 'error']); + } +} +?> \ No newline at end of file diff --git a/polygon/config.php b/polygon/config.php new file mode 100644 index 0000000..c4776af --- /dev/null +++ b/polygon/config.php @@ -0,0 +1,9 @@ + diff --git a/polygon/index.php b/polygon/index.php new file mode 100644 index 0000000..feb6e37 --- /dev/null +++ b/polygon/index.php @@ -0,0 +1,267 @@ + + + + + WebGIS Jalan & Parsil + + + + + + +
+

🗺️ Manajemen Data Geospasial (Polygon & Polyline)

+
+ +
+
+
+ Mode Operasi: + +
+
+ Identitas Data: + +
+
+ Status Kepemilikan/Jalan: + +
+
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/polygon/save.php b/polygon/save.php new file mode 100644 index 0000000..92a15ca --- /dev/null +++ b/polygon/save.php @@ -0,0 +1,23 @@ + 'success']); +} else { + echo json_encode(['status' => 'error', 'message' => mysqli_error($conn)]); +} +?> \ No newline at end of file diff --git a/polyline/config.php b/polyline/config.php new file mode 100644 index 0000000..9227b32 --- /dev/null +++ b/polyline/config.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/polyline/index.php b/polyline/index.php new file mode 100644 index 0000000..afe6816 --- /dev/null +++ b/polyline/index.php @@ -0,0 +1,375 @@ + + + + + + WebGIS Manajemen Jalan - Search & Filter + + + + + +
+

🛣️ Manajemen Data Jalan (Polyline)

+
+ +
+
+

Input Data Baru

+
+
+ Nama Jalan: + +
+
+ Status Jalan: + +
+
+ Isi nama dan status, lalu gambar garis di peta untuk menyimpan data. +
+ + + +
+ +
+

Daftar Jalan

+ + + + + + + + + + +
Nama JalanStatusPanjang
+
+
+ + + + + + + \ No newline at end of file diff --git a/polyline/save.php b/polyline/save.php new file mode 100644 index 0000000..82f90bf --- /dev/null +++ b/polyline/save.php @@ -0,0 +1,19 @@ + 'success']); + } else { + echo json_encode(['status' => 'error', 'message' => mysqli_error($conn)]); + } +} +?> \ No newline at end of file