From 231ec4cd66a5b7885cff704a56e7c5c4aecdaf9b Mon Sep 17 00:00:00 2001 From: Kris Date: Tue, 9 Jun 2026 12:48:14 +0000 Subject: [PATCH] Upload files to "/" --- .dockerignore | 3 + Dockerfile | 9 +++ README.md | 109 ++++++++++++++++++++++++++ database.sql | 52 +++++++++++++ index.html | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 379 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 database.sql create mode 100644 index.html diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..8de8c2f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.git +.gitignore +README_DEPLOY.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..82a543e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM php:8.2-apache + +RUN docker-php-ext-install mysqli pdo pdo_mysql + +COPY . /var/www/html/ + +RUN chown -R www-data:www-data /var/www/html + +EXPOSE 80 diff --git a/README.md b/README.md new file mode 100644 index 0000000..67958f0 --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +# Tugas SIG WebGIS Gabungan + +Project ini adalah gabungan dari Tugas01 sampai Tugas04 SIG dalam satu aplikasi. +Root `index.html` menjadi landing page, sedangkan tiap tugas berada dalam subfolder. + +## Struktur Folder + +```text +Tugas_SIG_gabungan/ +├── index.html +├── tugas01/ +├── tugas02/ +├── tugas03/ +├── tugas04/ +├── database/ +│ ├── tugas_sig.sql +│ ├── tugas_sig_xampp.sql +│ ├── tugas01_original.sql +│ ├── tugas02_original.sql +│ └── tugas03_original.sql +├── database.sql +└── Dockerfile +``` + +## Link Setelah Deploy + +Jika domain deploy kamu adalah: + +```text +https://domain-coolify-kamu +``` + +Maka link tugasnya: + +```text +https://domain-coolify-kamu/ +https://domain-coolify-kamu/tugas01/ +https://domain-coolify-kamu/tugas02/ +https://domain-coolify-kamu/tugas03/ +https://domain-coolify-kamu/tugas04/ +``` + +## Database + +Project ini dibuat agar cukup memakai 1 database: + +```text +webgis_tugas_sig +``` + +Tabel yang digunakan: + +```text +tugas01_spbu +tugas02_data_spasial +tugas03_spbu +``` + +Tugas04 tidak memakai database karena menggunakan file `Kecamatan.json`. + +## Cara Pakai di XAMPP + +1. Copy folder project ini ke: + +```text +C:/xampp/htdocs/Tugas_SIG_gabungan/ +``` + +2. Jalankan Apache dan MySQL. +3. Buka phpMyAdmin. +4. Import file: + +```text +database.sql +``` + +5. Buka browser: + +```text +http://localhost/Tugas_SIG_gabungan/ +``` + +## Cara Deploy di Coolify + +1. Upload/push semua isi folder ini ke repo `Tugas_SIG`. +2. Di Coolify, buat project baru. +3. Tambahkan resource Application dari repo `Tugas_SIG`. +4. Pilih build pack Dockerfile. +5. Port aplikasi: `80`. +6. Tambahkan 1 database MySQL/MariaDB. +7. Import file `database/tugas_sig.sql` ke database yang dibuat di Coolify. +8. Tambahkan environment variable aplikasi: + +```env +DB_HOST=nama_service_database +DB_PORT=3306 +DB_NAME=webgis_tugas_sig +DB_USER=user_database +DB_PASS=password_database +``` + +9. Deploy aplikasi. + +## Catatan + +- UAS SIG tidak dimasukkan ke landing page ini. +- UAS tetap dideploy terpisah dari repo `UAS_SIG`. +- File `database/tugas_sig.sql` tidak membuat database baru, cocok untuk import ke database yang sudah dibuat Coolify. +- File `database.sql` dan `database/tugas_sig_xampp.sql` cocok untuk XAMPP/phpMyAdmin lokal. diff --git a/database.sql b/database.sql new file mode 100644 index 0000000..f141e0c --- /dev/null +++ b/database.sql @@ -0,0 +1,52 @@ +CREATE DATABASE IF NOT EXISTS webgis_tugas_sig CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE webgis_tugas_sig; + +DROP TABLE IF EXISTS tugas01_spbu; +CREATE TABLE tugas01_spbu ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_spbu VARCHAR(150) NOT NULL, + alamat TEXT NULL, + status_24_jam ENUM('Ya', 'Tidak') NOT NULL DEFAULT 'Tidak', + kontak VARCHAR(50) NULL, + geojson LONGTEXT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +INSERT INTO tugas01_spbu (nama_spbu, alamat, status_24_jam, kontak, geojson) VALUES +('SPBU Ahmad Yani', 'Jl. Ahmad Yani, Pontianak', 'Ya', '081234567890', '{"type":"Point","coordinates":[109.3425,-0.0442]}'), +('SPBU Gajah Mada', 'Jl. Gajah Mada, Pontianak', 'Tidak', '081234567891', '{"type":"Point","coordinates":[109.3338,-0.0271]}'); + +DROP TABLE IF EXISTS tugas02_data_spasial; +CREATE TABLE tugas02_data_spasial ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama VARCHAR(150) NOT NULL, + jenis_objek ENUM('Jalan', 'Tanah') NOT NULL, + status VARCHAR(100) NOT NULL, + ukuran 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 +); + +INSERT INTO tugas02_data_spasial (nama, jenis_objek, status, ukuran, geojson) VALUES +('Contoh Jalan Ahmad Yani', 'Jalan', 'Jalan Nasional', 1250.00, '{"type":"LineString","coordinates":[[109.334,-0.055],[109.342,-0.047],[109.351,-0.043]]}'), +('Contoh Tanah Kavling A', 'Tanah', 'SHM', 8500.00, '{"type":"Polygon","coordinates":[[[109.337,-0.032],[109.342,-0.032],[109.342,-0.028],[109.337,-0.028],[109.337,-0.032]]]}'); + +DROP TABLE IF EXISTS tugas03_spbu; +CREATE TABLE tugas03_spbu ( + id INT AUTO_INCREMENT PRIMARY KEY, + nama_spbu VARCHAR(150) NOT NULL, + alamat TEXT NULL, + status_24_jam ENUM('Ya', 'Tidak') NOT NULL DEFAULT 'Tidak', + kontak VARCHAR(50) NULL, + geojson LONGTEXT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +INSERT INTO tugas03_spbu (nama_spbu, alamat, status_24_jam, kontak, geojson) VALUES +('SPBU Ahmad Yani', 'Jl. Ahmad Yani, Pontianak', 'Ya', '081234567890', '{"type":"Point","coordinates":[109.3425,-0.0442]}'), +('SPBU Gajah Mada', 'Jl. Gajah Mada, Pontianak', 'Tidak', '081234567891', '{"type":"Point","coordinates":[109.3338,-0.0271]}'), +('SPBU Imam Bonjol', 'Jl. Imam Bonjol, Pontianak', 'Ya', '081234567892', '{"type":"Point","coordinates":[109.3448,-0.0316]}'), +('SPBU Tanjung Raya', 'Jl. Tanjung Raya II, Pontianak', 'Tidak', '081234567893', '{"type":"Point","coordinates":[109.3741,-0.0292]}'); diff --git a/index.html b/index.html new file mode 100644 index 0000000..257288a --- /dev/null +++ b/index.html @@ -0,0 +1,206 @@ + + + + + + Landing Page Tugas SIG - Kris Natalis + + + +
+
+
+ Mata Kuliah Sistem Informasi Geografis +

Landing Page Tugas WebGIS

+

+ Halaman ini berisi kumpulan tugas WebGIS yang digabung dalam satu aplikasi, + sehingga cukup dideploy satu kali di Coolify dan setiap tugas dapat dibuka melalui subfolder. +

+
+ +
+ +
+
+
01
+

WebGIS Pemetaan SPBU

+

Menampilkan dan mengelola titik lokasi SPBU menggunakan marker Leaflet dan database.

+ Buka Tugas 01 +
+
+
02
+

Manajemen Jalan dan Tanah

+

Mengelola data jalan berbentuk polyline dan data tanah berbentuk polygon.

+ Buka Tugas 02 +
+
+
03
+

Layer Groups & Control

+

Menampilkan layer SPBU berdasarkan kategori buka 24 jam dan tidak 24 jam.

+ Buka Tugas 03 +
+
+
04
+

GeoJSON Kecamatan Pontianak

+

Menampilkan batas kecamatan, nama kecamatan, dan jumlah populasi dari file GeoJSON.

+ Buka Tugas 04 +
+
+ + +
+ +