Tanggap darurat bencana banjir dan longsor 2025 - Pusat Data dan Teknologi Informasi Palang Merah Indonesia (PMI) Provinsi Sumatera Utara tahun 2025
Menyediakan REST API untuk mengakses data terkini:
- BNPB Data:
/api/bnpb/latest - PMI Giat:
/api/pmi/giat - PMI Posko:
/api/pmi/posko - KoBoToolbox Shelter:
/api/kobo/shelter - KoBoToolbox Service:
/api/kobo/service - Dashboard: Web dashboard visualisasi data (
/)
Script otomatis untuk mengambil data dari GIS BNPB dan menyimpannya ke Google Sheets:
- Mengambil data per provinsi (Default: Sumatera Utara)
- Mencatat jumlah korban (Hilang, Meninggal, Luka)
- Mencatat kerusakan (Rumah, Fasum, dll)
- Detail data meninggal per Kabupaten
- Auto-retry mechanism dan logging yang rapi
- Bun installed
- Akun Google Cloud dengan Service Account aktif
- Google Sheet yang sudah dishare ke email Service Account (Editor access)
- KoBoToolbox API Token (jika menggunakan fitur KoBo)
- Clone repository ini
- Install dependencies:
bun install
Buat file .env di root folder (bisa copy dari .env.example):
cp .env.example .envIsi variabel environment berikut:
PORT=3000
# Konfigurasi BNPB
BNPB_URL=https://gis.bnpb.go.id/server/rest/services/covid19/Data_Bencana_Indonesia_Per_Provinsi/FeatureServer/0/query
PROVINSI="Sumatera Utara"
# Konfigurasi KoBoToolbox (Opsional)
KOBO_API_URL=https://kobo.humanitarianresponse.info/api/v2
KOBO_API_TOKEN=your_token
KOBO_ASSESSMENT_UID=asset_uid
KOBO_SERVICE_UID=asset_uid
# Konfigurasi Google Sheets
GOOGLE_SHEET_ID=your_sheet_id
GOOGLE_SERVICE_ACCOUNT_EMAIL=your-service-account@project.iam.gserviceaccount.com
GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."Server akan berjalan di http://localhost:3000 dengan fitur hot-reload.
bun run devbun run startUntuk menjalankan proses crawling data BNPB ke Google Sheets satu kali:
bun run crawlUntuk membuild project menjadi single file executable:
bun run buildsrc/main.ts: Entry point untuk API Server (Hono)src/crawl.ts: Script crawler data BNPBsrc/service/: Logic service layer (BNPB, PMI, Kobo)public/: Static files untuk dashboard frontend