88 lines
2.0 KiB
Markdown
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.
|