Semua proyek

Implementasi riset · IoT & full-stack

SiagaLongsor: Monitoring Risiko Berbasis IoT

Sistem pemantauan risiko longsor satu perangkat yang menghubungkan ESP32, evaluasi risiko deterministik di server, dashboard publik, notifikasi transisi, dan audit log.

Dashboard overview SiagaLongsor yang menampilkan status risiko, koneksi perangkat, kemiringan, kelembapan tanah, dan curah hujan.
Ringkasan proyekSiagaLongsor
Periode2026
JenisRiset
PeranFull-Stack & IoT Contributor
Lingkup kolaborasiFirmware, backend, frontend, dan perangkat fisik
AksesWebsite proyek

Website ini memusatkan kondisi perangkat, data sensor, dan tingkat risiko longsor dalam satu dashboard. Antarmuka membedakan status aman, berisiko, dan tidak diketahui ketika perangkat offline atau data belum cukup.

Teknologi
  • Next.js
  • NestJS
  • PostgreSQL
  • Prisma
  • ESP32
  • ECharts
  • Mengembangkan dashboard pemantauan publik read-only dan melakukan revisi antarmuka operasional.
  • Menyelaraskan level peringatan longsor dan aturan durasi hujan pada runtime HTTP satu perangkat.
  • Mendukung firmware upload serta integrasi perangkat ESP32 dengan endpoint telemetri.
  • Menambahkan notifikasi Telegram ketika status risiko berpindah dan memperbarui dokumentasi penggunaan.
  • Memperbaiki autentikasi, menambahkan smoke test overview publik, dan menstabilkan verifikasi integrasi.

Keputusan berikut menjelaskan rancangan sistem tim. Kontribusi saya dirinci pada bagian sebelumnya.

UNKNOWN tidak sama dengan SAFE

Data stale, offline, invalid, atau unavailable selalu jatuh ke UNKNOWN agar antarmuka tidak memberi rasa aman palsu.

Server sebagai otoritas

Aturan risiko bersifat deterministik, memiliki versi, dan diaudit di server; perangkat hanya mengirim telemetri.

Arsitektur satu perangkat

HTTP dan polling dipertahankan sederhana agar sesuai dengan ruang lingkup riset serta mudah direproduksi.

01

Nilai sensor dapat kosong atau tidak segar ketika perangkat atau koneksi bermasalah.

Keputusan
Memisahkan kualitas data dari level risiko dan memaksa status UNKNOWN saat validitas gagal.
Hasil
Dashboard tidak menyamarkan data yang tidak dapat dipercaya sebagai kondisi aman.
02

Kode awal membawa asumsi multi-device dan layanan yang lebih kompleks dari kebutuhan riset.

Keputusan
Melakukan scope reset dan menstabilkan alur tunggal dari perangkat ke tampilan publik.
Hasil
Acceptance dapat difokuskan pada perilaku yang benar-benar digunakan dalam demonstrasi fisik.
  • Unit, integration, API contract, dan E2E browser untuk area publik serta operasional.
  • Acceptance browser memeriksa alur publik dan operasional, termasuk tampilan mobile.
  • Smoke, load, dan stress test digunakan untuk memeriksa respons API serta pemulihan sistem.
  • Smoke test ESP32 fisik memeriksa penerimaan telemetri dan status UNKNOWN ketika nilai sensor belum tersedia.
  • 01Dashboard publik, histori, diagnostik, audit log, dan notifikasi transisi berada dalam satu alur sistem.
  • 02Perangkat fisik berhasil mengirim telemetri tanpa memalsukan nilai sensor yang belum tersedia.