Sistem Peringatan Dini Bencana Luring & Mandiri untuk Warga
Platform tanggap darurat dan peringatan dini bencana berbasis mobile yang dirancang dengan pendekatan Offline-First menggunakan teknologi Bluetooth Low Energy (BLE) Mesh Ad-Hoc.
Resqo adalah platform tanggap darurat dan sistem peringatan dini bencana yang dirancang khusus untuk warga. Berbeda dengan aplikasi kebencanaan konvensional yang bergantung penuh pada jaringan seluler, Resqo dibangun dengan pendekatan Offline-First memanfaatkan arsitektur jaringan Bluetooth Low Energy (BLE) Mesh Ad-Hoc. Saat infrastruktur komunikasi lumpuh akibat bencana, Resqo memungkinkan gawai antar-warga saling meneruskan sinyal bahaya (SOS), titik lokasi presisi, dan status evakuasi secara otomatis (multi-hop) tanpa membutuhkan koneksi internet.
- Tombol Tahan SOS 3 Detik: Mencegah pemicuan darurat tidak sengaja dengan animasi penghitung mundur.
- Active Emergency Mode: Menyebarkan titik koordinat presisi korban secara berkala ke warga sekitar dan dasbor penanggulangan bencana.
- Aksi Cepat Tanggap: Tombol "Saya Sudah Aman" untuk menyelesaikan status darurat dan tombol "Kirim Ulang Lokasi Presisi" berfitur cooldown timer 60 detik.
- Visualisasi Topologi Radar: Menggunakan
CustomPainter(Canvas 2D) interaktif yang menggambar pendaran titik node gawai sekitar, jangkauan sinyal (~180m), dan latensi rata-rata transmisi luring (1.2 detik). - Pemantauan Ad-Hoc: Pemantauan kesehatan transmisi data antar-perangkat secara real-time luring.
- Panggil Cepat Nasional (Quick Dial Grid): Akses langsung ke nomor darurat utama seperti Darurat Umum (112), Kepolisian (110), Pemadam Kebakaran (113), dan Ambulans/Medis (119).
- Kontak Lokal Berbasis Wilayah: Otomatis menampilkan kontak petugas lapangan (BPBD, PMI, Posko Kelurahan, RT/RW) yang disesuaikan dengan koordinat lokasi korban via API.
- Pilihan Kontak Multi-Nomor & Panggilan Langsung: Fitur Bottom Sheet Chooser untuk menentukan petugas yang dihubungi serta integrasi pemicu telepon otomatis (
url_launcher).
- Peta lokasi evakuasi interaktif berbasis
flutter_mapdanlatlong2. - Notifikasi peringatan bencana luring dan daring secara real-time.
- Antarmuka Modern: Desain Bottom Sheet Curved Container melengkung yang nyaman dan elegan.
- Data Kependudukan: Pembaruan data penting warga (Nama, NIK, No. Telepon, No. KK, Desa/Kelurahan, Kab/Kota, hingga Provinsi) untuk percepatan identifikasi oleh tim SAR/penyelamat.
Proyek ini menerapkan Clean Architecture & Atomic Design System (Atoms, Molecules, Services, Models, Pages) untuk menjaga modularitas kode:
lib/
├── constants/ # Palette warna, API Endpoints RESTful, dan Routes GoRouter
├── features/ # Modul fitur independen
│ ├── auth/ # Layanan & antarmuka autentikasi (Login & Form)
│ ├── emergency_contacts/ # Model, Atom, Molekul, Service & Page Kontak Darurat
│ ├── mesh_network/ # Topologi Painter Canvas, Model, Service & Page Jaringan Mesh
│ ├── profile/ # Edit data kependudukan & antarmuka profil warga
│ └── sos/ # Atom Tombol SOS, Active SOS Card, Service & Model
├── shared/ # Komponen global (Atoms GlowDot, PrimaryButton, Helpers InputStyle)
└── utils/ # Logger dan helper fungsional
- Framework: Flutter (v3.x+)
- Language: Dart
- Maps & Location: flutter_map, latlong2
- Backend API: Python (FastAPI)
- Flutter SDK (versi stabil terbaru)
- Dart SDK (termasuk di dalam Flutter)
- Android Studio atau VS Code
- Perangkat Android fisik atau emulator
-
Clone repositori ini:
git clone [https://www.github.com/a6iyyu/resqo](https://www.github.com/a6iyyu/resqo) cd resqo -
Install dependensi proyek:
flutter pub get
-
Jalankan aplikasi:
flutter run
-
Build release APK:
flutter build apk --release
Made with