Files
webgis/poverty-mapping/docs/erd.md
T
2026-06-11 17:43:01 +07:00

2.1 KiB

ERD Summary - WebGIS

Dokumen ini merangkum skema database yang dipakai aplikasi pada sql/migrations/001_init_schema.sql dan webgis.sql.

Tabel Utama

users

Menyimpan akun pengguna aplikasi.

Kolom penting:

  • email
  • password_hash
  • name
  • organization
  • org_address
  • org_phone
  • org_proof_path
  • role dengan nilai manager atau admin
  • status dengan nilai pending, active, rejected, atau pending_verification
  • email_verified
  • field verifikasi email seperti email_verification_token_hash, email_verification_expires, dan timestamp terkait
  • approved_by dan approved_at

lokasi

Menyimpan seluruh marker yang tampil di peta.

Kolom penting:

  • nama
  • no_telp
  • latitude dan longitude
  • alamat
  • jenis
  • field khusus rumah seperti nama_kk, rumah_status, members, monthly_income
  • field bantuan seperti assisted, last_assisted_at, assistance_notes, sumber_bantuan, bentuk_bantuan
  • photo_path
  • created_by

bantuan_detail

Menyimpan detail histori bantuan per lokasi.

Kolom penting:

  • lokasi_id
  • tanggal_bantuan
  • pemberi_bantuan
  • catatan
  • pemberi_lokasi_id
  • jumlah

migrations

Menyimpan catatan migration yang sudah dijalankan.

Relasi

  • users.approved_by mengarah ke users.id
  • lokasi.created_by mengarah ke users.id
  • lokasi.sumber_bantuan mengarah ke lokasi.id
  • bantuan_detail.lokasi_id mengarah ke lokasi.id
  • bantuan_detail.pemberi_lokasi_id mengarah ke lokasi.id

Alur Data

  1. Guest melihat data publik di peta dan tabel.
  2. Pengelola mendaftar, menerima kode verifikasi email, lalu akun dibuat dalam status menunggu persetujuan admin.
  3. Admin menyetujui akun pengelola.
  4. Pengelola yang disetujui dapat menambah dan mengubah data miliknya.
  5. Admin bisa mengelola seluruh data.

Catatan Implementasi

  • Database yang dipakai adalah MySQL/MariaDB.
  • Semua relasi foreign key dibuat agar data tetap konsisten.
  • Kolom bantuan dan verifikasi email disimpan langsung di tabel utama supaya alurnya sederhana untuk pengembangan berikutnya.