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**:
|
|
||||||
- 📍 Tambah/Edit Titik (Point)
|
|
||||||
- 🛣️ Gambar Jaringan Jalan (Polyline)
|
|
||||||
- ⬠ 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)
|
|
||||||
|
|
||||||
Ikuti langkah-langkah berikut untuk menjalankan aplikasi ini di komputer Anda menggunakan XAMPP:
|
|
||||||
|
|
||||||
### 1. Persiapan Environment
|
|
||||||
Pastikan Anda sudah menginstal aplikasi server lokal, seperti **[XAMPP](https://www.apachefriends.org/index.html)**.
|
|
||||||
|
|
||||||
### 2. Kloning / Salin File
|
|
||||||
1. Unduh atau *clone* repository ini:
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/USERNAME_ANDA/webgis-pengentasan-kemiskinan.git
|
|
||||||
```
|
|
||||||
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
|
```text
|
||||||
http://localhost/webgis
|
/kemiskinan -> Modul tertutup untuk petugas dan admin (Wajib Login).
|
||||||
|
/publik -> Modul terbuka untuk masyarakat luas.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Cara Penggunaan
|
## Panduan Instalasi (Localhost)
|
||||||
- **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.
|
1. *Clone* repositori ini ke dalam folder `htdocs` (jika menggunakan XAMPP).
|
||||||
- **Melihat Data**: Klik pada titik, jalan, atau area yang sudah ada di peta untuk melihat detail informasinya.
|
2. Buat database baru bernama `default` atau `webgis` di phpMyAdmin.
|
||||||
- **Menghapus Data**: Pada *pop-up* informasi data di peta, klik tombol "Hapus".
|
3. Import file `.sql` yang tersedia.
|
||||||
|
4. Akses melalui browser:
|
||||||
|
- `http://localhost/webgis/kemiskinan`
|
||||||
|
- `http://localhost/webgis/publik`
|
||||||
|
|
||||||
## Kontribusi
|
## Panduan Deployment (Coolify)
|
||||||
Jika Anda ingin mengembangkan atau berkontribusi pada aplikasi ini, silakan buat *Pull Request* atau *Fork* repositori ini.
|
1. Buat **dua aplikasi terpisah** di dalam proyek Coolify Anda dari sumber repositori ini.
|
||||||
|
2. Atur **Base Directory** masing-masing aplikasi menjadi `/kemiskinan` dan `/publik`.
|
||||||
---
|
3. Tambahkan 4 variabel *Environment* ini ke kedua aplikasi:
|
||||||
*Dibuat untuk keperluan Analisis Geospasial.*
|
- `DB_HOST`: [internal-mariadb-host-id]
|
||||||
## Cara Upload ke GitHub
|
- `DB_USER`: mariadb
|
||||||
|
- `DB_PASS`: [password-anda]
|
||||||
Jika Anda ingin mengunggah (upload) project ini ke GitHub Anda sendiri, ikuti langkah berikut:
|
- `DB_NAME`: default
|
||||||
|
4. Tambahkan **Persistent Storage** pada aplikasi Kemiskinan ke **`/app/uploads`** agar file gambar (*upload*) tidak hilang saat *redeploy*.
|
||||||
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.
|
5. Klik **Deploy**!
|
||||||
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