Open-source work-order & field-service platform — pengaduan pelanggan, penugasan petugas, peta kebocoran (NRW), RBAC, dan integrasi data pelanggan.
Data demo dan branding UI mengacu Perumda Tirta Tamiang sebagai reference deployment (PDAM Kab. Aceh Tamiang). Fork proyek ini untuk organisasi Anda: ganti nama, logo, integrasi billing, dan kirim update lewat Pull Request.
- Work order
WO-YYMM-NNN, status flow, foto before/after, verifikasi atasan - Form pengaduan publik (
/lapor.html) dengan rate limit & honeypot - Peta Leaflet, heatmap kebocoran, dashboard & laporan
- Django + PostGIS, JWT, audit log, notifikasi FCM (opsional)
- Sync pelanggan GoSimona via Celery (dapat diganti adapter lain)
| Layer | Teknologi |
|---|---|
| Backend | Django 5 + DRF, PostGIS, Celery, Redis |
| Frontend | React 18, Vite 8 (SPA + /lapor.html publik) |
| Peta | Leaflet + OpenStreetMap |
- Python 3.10+, Node 20+
- PostgreSQL + PostGIS di port 5437
- Redis (Celery opsional untuk sync GoSimona)
cd backend
cp .env.example .env # isi DJANGO_SECRET_KEY & DB
python -m venv ../.venv && source ../.venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py seed_demo
python manage.py runserver 0.0.0.0:8765cd frontend
npm install
npm run dev # http://localhost:5173 — proxy API ke :8765| User | Password |
|---|---|
admin |
gotask123 |
Data seed mengacu tanggal kanonik 2026-05-31.
# Backend (dari backend/)
python -m pytest
python manage.py spectacular --file schema.yml
# Frontend (dari frontend/)
npm run lint && npm run build && npm run check:bundle
npm run test:smoke # butuh backend + Vite + ChromiumCLAUDE.md— panduan arsitektur untuk kontributor/AIdocs/dev-onboarding.md— setup lengkapfrontend/README.md— struktur frontend Vite
Lihat CONTRIBUTING.md. Issue dan PR dipersilakan — terutama white-label, deploy, dan integrasi untuk utilitas lain.
MIT — bebas pakai, modifikasi, dan distribusi dengan atribusi. Nama dan data demo PDAM bukan merek dagang yang dilindungi oleh lisensi kode; ganti di fork Anda untuk produksi.