448fcb54f0315059a27626f31736d2e67407d49b
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
CREATE DATABASE spbu_pontianak CHARACTER SET utf8mb4;
2. Edit konfigurasi database
Buka backend/.env dan sesuaikan:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password_anda ← ganti ini
DB_NAME=spbu_pontianak
PORT=3000
3. Install dependencies
cd backend
npm install
4. Jalankan server
# 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.
Description
Languages
HTML
76.6%
JavaScript
23%
Dockerfile
0.4%