Files
WEBGIS_Project/README.md
T
tistopandita 08b84fea98 first commit
2026-06-10 20:41:25 +07:00

88 lines
2.0 KiB
Markdown

# WebGIS SPBU Pontianak — Backend + Frontend
## Struktur Project
```
spbu-webgis/
├── backend/
│ ├── server.js ← Express server + semua API route
│ ├── db.js ← Koneksi MySQL (pool)
│ ├── .env ← Konfigurasi database (edit ini!)
│ └── package.json
├── frontend/
│ ├── index.html ← Halaman peta utama
│ └── admin.html ← Halaman CRUD data SPBU
├── schema.sql ← SQL untuk buat tabel manual (opsional)
└── .gitignore
```
---
## Cara Menjalankan
### 1. Pastikan MySQL berjalan dan buat database
```sql
CREATE DATABASE spbu_pontianak CHARACTER SET utf8mb4;
```
### 2. Edit konfigurasi database
Buka `backend/.env` dan sesuaikan:
```env
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password_anda ← ganti ini
DB_NAME=spbu_pontianak
PORT=3000
```
### 3. Install dependencies
```bash
cd backend
npm install
```
### 4. Jalankan server
```bash
# Mode biasa
npm start
# Mode development (auto-restart saat ada perubahan)
npm run dev
```
### 5. Buka di browser
| URL | Keterangan |
|-----|-----------|
| http://localhost:3000/ | Peta WebGIS |
| http://localhost:3000/admin.html | CRUD Data SPBU |
| http://localhost:3000/api/spbu | JSON API |
---
## API Endpoint
| Method | URL | Fungsi |
|--------|-----|--------|
| `GET` | `/api/spbu` | Ambil semua SPBU aktif |
| `GET` | `/api/spbu/:id` | Ambil satu SPBU |
| `POST` | `/api/spbu` | Tambah SPBU baru |
| `PUT` | `/api/spbu/:id` | Update data SPBU |
| `PATCH` | `/api/spbu/:id/override` | Update override status saja |
| `DELETE` | `/api/spbu/:id` | Hapus SPBU (soft delete) |
---
## Catatan
- Tabel MySQL dibuat otomatis saat server pertama kali dijalankan.
- Data 9 SPBU di-seed otomatis jika tabel masih kosong.
- Hapus SPBU bersifat **soft delete** (kolom `aktif = 0`), data tidak hilang dari database.
- Override status tersimpan ke database dan bertahan setelah server restart.