Leaflet/CARTO/OSM, marker device, POI, mode 2D/3D/satelit, dan lokasi user.
AI RF-DETR
Deteksi object dari snapshot/video, bbox, confidence, history, dan publikasi ringkasan ke RTDB.
PWA
Manifest, service worker, app-update metadata, notification click, dan install surface.
Dokumentasi
Route /documentation, /method, /method/webapp, /licence, dan print A4.
Context-aware notification
Metode peringatan perjalanan dan batas platform web
Persetujuan eksplisit
Pemantauan baru dimulai setelah pengguna mengaktifkan Peringatan perjalanan dan memberikan izin lokasi serta notifikasi. Menonaktifkan fitur menghentikan pemantauan; izin platform juga dapat dicabut kapan saja dari pengaturan browser.
Konteks GPS lokal
Saat fitur aktif, browser diminta memakai GPS berakurasi tinggi. Kecepatan, arah perjalanan, kelas moda yang bersifat perkiraan, dan dwell atau berhenti lama diturunkan di perangkat dari sampel terbaru. Klasifikasi moda adalah petunjuk kontekstual, bukan identifikasi kendaraan yang pasti.
Retry dua menit
Event konteks ringkas yang gagal dikirim dapat masuk ke outbox IndexedDB selama paling lama dua menit. Background Sync hanya dipakai sebagai progressive enhancement untuk mencoba ulang ketika koneksi kembali; dukungan dan waktu eksekusinya tetap ditentukan browser.
Suara dan background
Teks-ke-suara untuk mode motor hanya dapat diputar ketika halaman aplikasi aktif dan terlihat. Saat aplikasi berada di background atau tertutup, Web Push hanya dapat meminta notifikasi serta suara atau getaran bawaan sistem operasi, bukan TTS kustom yang andal.
Alur peringatan hanya memakai konteks turunan yang diperlukan untuk peringatan dan retry singkat. Alur ini tidak mengirim atau menyimpan raw frame kamera maupun riwayat sampel lokasi mentah.
Diagram
Alur runtime WebApp
flowchart LR
RTDB[("Firebase RTDB")] --> Main["web/src/main.ts"]
Main --> Map["Leaflet / MapLibre map"]
Main --> Camera["Camera surface"]
Camera --> AI["browserRfDetr.ts"]
AI --> Overlay["Canvas bbox + confidence"]
Main --> PWA["Service worker + install"]
Main --> Docs["/documentation + /method"]
Matematika dan logika
Formulasi yang dipakai kode
Status realtime
Perangkat dianggap online jika selisih waktu heartbeat masih di bawah ambang offline.
Contoh ini menjalankan rumus kecil yang sama konsepnya dengan kode aplikasi: freshness, total kendaraan, IoU, dan durasi lampu.
const total = car + motorcycle + bus + truck + bicycle;
const green = Math.min(120, Math.max(10, 0.85 * total + 8));
Pada kode WebApp, rumus ini terlihat di browserRfDetr.ts untuk bbox/IoU dan di main.ts/windows.ts untuk status realtime, chart, jarak, dan render UI.
Screenshots
Gambar pendukung
Screenshot utama WebApp ITS MapsScreenshot mobile map ITS MapsScreenshot mobile AI ITS MapsMockup kamera AI
Line-by-line source atlas
Atlas kode WebApp
Ringkasan file tetap tersedia di halaman utama. Isi kode asli dan catatan teknis per baris dimuat hanya saat diminta agar dokumentasi cepat dibuka dan tetap dapat dipelajari secara lengkap.
Hanifa Septhi Larasati@hanifasepthiDeveloper utama, publisher Hanifa Teams, dan pemilik repository ITS Maps.Roboflow RF-DETRroboflow/rf-detrRujukan arsitektur object detection RF-DETR untuk pipeline deteksi visual.Hugging Face onnx-communityonnx-community/rfdetr_nano-ONNXModel ONNX yang dipakai oleh runtime browser object detection.Transformers.js / Xenovatransformers.jsRuntime inference JavaScript untuk model AI di browser.OpenStreetMap, OpenMapTiles, OpenFreeMap, Leaflet, MapLibre, CARTO, Firebase, Microsoft, AndroidEkosistem peta vector, fallback raster, hosting realtime, web, widget, dan distribusi aplikasi.