fix: Hapus Google Login, perbaiki upload, update README, dan ignore srs.txt
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
|||||||
|
# Folder Uploads
|
||||||
|
kemiskinan/uploads/*
|
||||||
|
publik/uploads/*
|
||||||
|
!kemiskinan/uploads/.gitkeep
|
||||||
|
!publik/uploads/.gitkeep
|
||||||
|
|
||||||
|
# Dokumen Sementara / Word / Text
|
||||||
|
*.txt
|
||||||
|
*.docx
|
||||||
|
~$*.txt
|
||||||
|
~$*.docx
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
.env
|
||||||
@@ -1,81 +1,37 @@
|
|||||||
# WebGIS - Sistem Analisis Geospasial Pengentasan Kemiskinan
|
# WebGIS - Sistem Pengentasan Kemiskinan Terpadu
|
||||||
|
|
||||||
Sebuah aplikasi WebGIS interaktif yang dirancang untuk melakukan analisis spasial terkait sebaran penduduk miskin dan infrastruktur pendukung (seperti fasilitas publik, jalan, parsil tanah, dll) di suatu wilayah. Aplikasi ini dibangun dengan tema visual Merah Putih yang modern.
|
Repositori ini berisi dua aplikasi WebGIS yang dikembangkan secara terpisah namun berada dalam satu *monorepo*:
|
||||||
|
1. **Aplikasi Kemiskinan (Privat/Internal)**: Digunakan oleh admin dan petugas lapangan untuk mendata penduduk miskin, verifikasi bantuan, dan analisis spasial radius fasilitas publik.
|
||||||
|
2. **Aplikasi Publik (Terbuka)**: Portal informasi geospasial publik (Peta SPBU, Peta Tematik Nasional/Provinsi/Kabupaten, dan Digitasi Lahan).
|
||||||
|
|
||||||
## Fitur Utama
|
## Arsitektur & Teknologi
|
||||||
|
- **Frontend**: HTML5, Vanilla CSS, TailwindCSS (via CDN), JavaScript (ES6+).
|
||||||
|
- **Pemetaan**: Leaflet.js
|
||||||
|
- **Backend**: PHP (Native PDO & MySQLi legacy support)
|
||||||
|
- **Database**: MariaDB / MySQL
|
||||||
|
- **Deployment**: Coolify (Nixpacks)
|
||||||
|
|
||||||
- **Peta Interaktif**: Visualisasi peta secara *real-time* menggunakan Leaflet.js.
|
## Struktur Direktori
|
||||||
- **Manajemen Data Geospasial**:
|
```text
|
||||||
- 📍 Tambah/Edit Titik (Point)
|
/kemiskinan -> Modul tertutup untuk petugas dan admin (Wajib Login).
|
||||||
- 🛣️ Gambar Jaringan Jalan (Polyline)
|
/publik -> Modul terbuka untuk masyarakat luas.
|
||||||
- ⬠ Gambar Area/Parsil Tanah (Polygon)
|
```
|
||||||
- 🕌 Manajemen Data Fasilitas Publik (dengan radius jangkauan otomatis)
|
|
||||||
- 👤 Pendataan Penduduk Miskin
|
|
||||||
- **Analisis Spasial (Radius)**: Secara otomatis mendeteksi apakah seorang Penduduk Miskin berada **di dalam** atau **di luar** jangkauan radius bantuan (berbasis lokasi fasilitas publik terdekat).
|
|
||||||
- **Dashboard Statistik**: Rangkuman total data penduduk, fasilitas publik, dan persentase cakupan penanganan.
|
|
||||||
- **Pencarian Cepat (Search)**: Fitur untuk mencari data spesifik (berdasarkan nama, NIK, dll) langsung dari *sidebar*.
|
|
||||||
|
|
||||||
## Teknologi yang Digunakan
|
|
||||||
|
|
||||||
- **Front-end**: HTML5, CSS3 (Native / Tema Merah Putih), JavaScript (ES6+).
|
|
||||||
- **Library Peta**: [Leaflet.js](https://leafletjs.com/)
|
|
||||||
- **Back-end**: PHP
|
|
||||||
- **Database**: MySQL / MariaDB (via XAMPP)
|
|
||||||
|
|
||||||
## Panduan Instalasi (Localhost)
|
## Panduan Instalasi (Localhost)
|
||||||
|
1. *Clone* repositori ini ke dalam folder `htdocs` (jika menggunakan XAMPP).
|
||||||
|
2. Buat database baru bernama `default` atau `webgis` di phpMyAdmin.
|
||||||
|
3. Import file `.sql` yang tersedia.
|
||||||
|
4. Akses melalui browser:
|
||||||
|
- `http://localhost/webgis/kemiskinan`
|
||||||
|
- `http://localhost/webgis/publik`
|
||||||
|
|
||||||
Ikuti langkah-langkah berikut untuk menjalankan aplikasi ini di komputer Anda menggunakan XAMPP:
|
## Panduan Deployment (Coolify)
|
||||||
|
1. Buat **dua aplikasi terpisah** di dalam proyek Coolify Anda dari sumber repositori ini.
|
||||||
### 1. Persiapan Environment
|
2. Atur **Base Directory** masing-masing aplikasi menjadi `/kemiskinan` dan `/publik`.
|
||||||
Pastikan Anda sudah menginstal aplikasi server lokal, seperti **[XAMPP](https://www.apachefriends.org/index.html)**.
|
3. Tambahkan 4 variabel *Environment* ini ke kedua aplikasi:
|
||||||
|
- `DB_HOST`: [internal-mariadb-host-id]
|
||||||
### 2. Kloning / Salin File
|
- `DB_USER`: mariadb
|
||||||
1. Unduh atau *clone* repository ini:
|
- `DB_PASS`: [password-anda]
|
||||||
```bash
|
- `DB_NAME`: default
|
||||||
git clone https://github.com/USERNAME_ANDA/webgis-pengentasan-kemiskinan.git
|
4. Tambahkan **Persistent Storage** pada aplikasi Kemiskinan ke **`/app/uploads`** agar file gambar (*upload*) tidak hilang saat *redeploy*.
|
||||||
```
|
5. Klik **Deploy**!
|
||||||
2. Pindahkan folder project (misalnya bernama `webgis`) ke dalam folder `htdocs` pada instalasi XAMPP Anda.
|
|
||||||
- Contoh direktori XAMPP di Windows: `C:\xampp\htdocs\webgis`
|
|
||||||
|
|
||||||
### 3. Konfigurasi Database
|
|
||||||
1. Buka aplikasi **XAMPP Control Panel**.
|
|
||||||
2. Jalankan modul **Apache** dan **MySQL** (Klik tombol *Start*).
|
|
||||||
3. Buka browser dan akses **phpMyAdmin**: `http://localhost/phpmyadmin`
|
|
||||||
4. Buat sebuah database baru dengan nama: **`webgis`**
|
|
||||||
5. Impor (*Import*) file database yang disertakan:
|
|
||||||
- Klik tab **Import** di phpMyAdmin.
|
|
||||||
- Pilih file **`webgis.sql`** yang terdapat di dalam folder project ini.
|
|
||||||
- Klik **Go** / **Kirim** di bagian bawah halaman.
|
|
||||||
|
|
||||||
### 4. Konfigurasi Koneksi (Opsional)
|
|
||||||
Jika Anda menggunakan *password* untuk root MySQL Anda, Anda perlu menyesuaikan file koneksinya.
|
|
||||||
1. Buka file `koneksi.php` dengan *text editor*.
|
|
||||||
2. Ubah konfigurasi `$user` dan `$pass` sesuai dengan pengaturan database Anda (secara *default* di XAMPP user: `root`, pass: *kosong*).
|
|
||||||
|
|
||||||
### 5. Jalankan Aplikasi
|
|
||||||
Buka web browser favorit Anda dan akses URL berikut:
|
|
||||||
```text
|
|
||||||
http://localhost/webgis
|
|
||||||
```
|
|
||||||
|
|
||||||
## Cara Penggunaan
|
|
||||||
- **Menambah Data**: Buka *Sidebar* (ikon di sebelah kiri), pilih salah satu *"Alat Peta"* (Titik, Jalan, Polygon, dll), lalu klik di area peta untuk menentukan lokasi. Sebuah *form pop-up* akan muncul untuk mengisi detailnya.
|
|
||||||
- **Melihat Data**: Klik pada titik, jalan, atau area yang sudah ada di peta untuk melihat detail informasinya.
|
|
||||||
- **Menghapus Data**: Pada *pop-up* informasi data di peta, klik tombol "Hapus".
|
|
||||||
|
|
||||||
## Kontribusi
|
|
||||||
Jika Anda ingin mengembangkan atau berkontribusi pada aplikasi ini, silakan buat *Pull Request* atau *Fork* repositori ini.
|
|
||||||
|
|
||||||
---
|
|
||||||
*Dibuat untuk keperluan Analisis Geospasial.*
|
|
||||||
## Cara Upload ke GitHub
|
|
||||||
|
|
||||||
Jika Anda ingin mengunggah (upload) project ini ke GitHub Anda sendiri, ikuti langkah berikut:
|
|
||||||
|
|
||||||
1. **Buat Repository di GitHub**: Buka github.com, login, lalu buat *New Repository* (beri nama misalnya \webgis-fasilitas-publik\). Biarkan kosong tanpa *README* dari GitHub.
|
|
||||||
2. **Buka Terminal/Command Prompt**: Arahkan ke folder project ini di komputer Anda (\C:\xampp\htdocs\webgis\).
|
|
||||||
3. **Inisialisasi Git**: Jalankan perintah \git init\.
|
|
||||||
4. **Tambahkan File**: Jalankan \git add .\
|
|
||||||
5. **Simpan Perubahan**: Jalankan \git commit -m "Initial commit webgis"\
|
|
||||||
6. **Hubungkan ke GitHub**: Copy perintah \git remote add origin https://github.com/USERNAME_ANDA/NAMA_REPO_ANDA.git\ dari halaman GitHub Anda dan jalankan di terminal.
|
|
||||||
7. **Upload (Push)**: Jalankan \git branch -M main\ lalu \git push -u origin main\.
|
|
||||||
|
|||||||
@@ -44,9 +44,12 @@ function uploadFoto($file_input_name) {
|
|||||||
$file_extension = pathinfo($file_name, PATHINFO_EXTENSION);
|
$file_extension = pathinfo($file_name, PATHINFO_EXTENSION);
|
||||||
$new_file_name = uniqid($file_input_name . '_', true) . '.' . $file_extension;
|
$new_file_name = uniqid($file_input_name . '_', true) . '.' . $file_extension;
|
||||||
$upload_file_dir = '../uploads/';
|
$upload_file_dir = '../uploads/';
|
||||||
|
if (!is_dir($upload_file_dir)) {
|
||||||
|
@mkdir($upload_file_dir, 0777, true);
|
||||||
|
}
|
||||||
$dest_path = $upload_file_dir . $new_file_name;
|
$dest_path = $upload_file_dir . $new_file_name;
|
||||||
|
|
||||||
if (move_uploaded_file($file_tmp_path, $dest_path)) {
|
if (@move_uploaded_file($file_tmp_path, $dest_path)) {
|
||||||
return $new_file_name;
|
return $new_file_name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,23 +213,6 @@ $google_auth_url = "https://accounts.google.com/o/oauth2/v2/auth?client_id=" . G
|
|||||||
<!-- Card -->
|
<!-- Card -->
|
||||||
<div class="rounded-2xl border border-white/60 bg-white/70 p-6 shadow-[0_8px_30px_rgb(0,0,0,0.04)] backdrop-blur-xl sm:p-8">
|
<div class="rounded-2xl border border-white/60 bg-white/70 p-6 shadow-[0_8px_30px_rgb(0,0,0,0.04)] backdrop-blur-xl sm:p-8">
|
||||||
|
|
||||||
<!-- Google Auth Button -->
|
|
||||||
<button type="button" onclick="startGoogleAuth()" class="flex h-11 w-full items-center justify-center gap-3 rounded-xl border border-border bg-white text-sm font-semibold text-foreground shadow-sm hover:bg-gray-50 transition-colors mb-6">
|
|
||||||
<svg width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"/>
|
|
||||||
<path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/>
|
|
||||||
<path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"/>
|
|
||||||
<path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/>
|
|
||||||
</svg>
|
|
||||||
Daftar dengan Google
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div class="relative flex items-center mb-6">
|
|
||||||
<div class="flex-grow border-t border-border"></div>
|
|
||||||
<span class="flex-shrink-0 mx-4 text-xs text-muted-foreground uppercase tracking-wider font-semibold">atau dengan email</span>
|
|
||||||
<div class="flex-grow border-t border-border"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form action="register.php" method="POST" class="flex flex-col gap-4">
|
<form action="register.php" method="POST" class="flex flex-col gap-4">
|
||||||
<input type="hidden" name="register" value="1">
|
<input type="hidden" name="register" value="1">
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user