Files

4.4 KiB
Raw Permalink Blame History

BUMDES & UMKM Desa — UI & Functional Specification

Dokumen ini menjelaskan spesifikasi UI, tata letak, gaya visual, responsivitas, serta ekspektasi data & interaksi untuk halaman BUMDes & UMKM Desa (Jenna Analytic Module). Dokumen ini menjadi kontrak desain antara UI/UX, Frontend, dan Backend.


1. Tujuan Halaman

Halaman BUMDes & UMKM Desa berfungsi sebagai dashboard monitoring:

  • Aktivitas UMKM desa
  • Performa penjualan produk unggulan
  • Omzet BUMDes
  • Stok & tren produk

Target pengguna:

  • Kepala Desa
  • Admin Desa
  • Operator BUMDes

2. Tata Letak Keseluruhan (Layout)

2.1 Struktur Utama

Layout menggunakan pola Dashboard Sidebar Layout:

  • Sidebar kiri (fixed)
  • Topbar/header (fixed)
  • Main content (scrollable)

Grid utama:

  • Desktop: 12-column grid
  • Tablet: 8-column grid
  • Mobile: 4-column grid

2.2 Sidebar

Komponen:

  • Logo DESA + tagline
  • Search bar ("cari apa saja")
  • Menu navigasi vertikal

Menu aktif:

  • Bumdes & UMKM Desa (highlight biru muda)

Perilaku:

  • Collapsible pada layar kecil
  • Ikon + label (label hidden di mobile)

2.3 Topbar

Komponen:

  • Nama desa
  • Nama & jabatan user
  • Avatar user
  • Ikon notifikasi (badge)
  • Ikon pengaturan

Perilaku:

  • Sticky
  • Dropdown user menu

3. Komponen UI Utama

3.1 KPI Cards (Ringkasan Atas)

Menampilkan ringkasan metrik utama:

KPI Deskripsi
UMKM Aktif Jumlah UMKM beroperasi
UMKM Terdaftar Total UMKM terdaftar
Omzet Omzet BUMDes per bulan
Kategori UMKM Jumlah kategori aktif

Karakteristik:

  • Card rounded
  • Icon di kanan
  • Angka besar (headline)

3.2 Update Penjualan Produk

Komponen:

  • Section header berwarna biru gelap

  • Button filter waktu:

    • "Minggu ini"
    • "Bulan ini"

Perilaku:

  • Toggle data chart & tabel
  • Default: Bulan ini

3.3 Produk Unggulan (Left Column)

Sub-komponen:

  1. Total Penjualan

    • Nominal
    • Persentase perubahan
  2. Produk Aktif

    • Jumlah produk
    • Jumlah kategori
  3. Total Transaksi

    • Jumlah transaksi bulan berjalan
  4. Top 3 Produk Terlaris

    • Ranking
    • Nama produk
    • Pelaku UMKM
    • Growth indicator

3.4 Detail Penjualan Produk (Right Column)

Bentuk:

  • Tabel data

Kolom:

  • Produk
  • Penjualan bulan ini
  • Bulan lalu
  • Trend
  • Volume
  • Stok
  • Aksi

Elemen khusus:

  • Trend: arrow hijau/merah
  • Stok: badge warna (aman / kritis)
  • Aksi: tombol "Detail"

Filter:

  • Dropdown filter kategori / stok

4. Gaya & Tema Visual

4.1 Warna

Elemen Warna
Primary Biru tua (#183A63 approx)
Secondary Biru muda (#E6F0FF)
Success Hijau (#22C55E)
Danger Merah (#EF4444)
Background Abu muda / putih

4.2 Tipografi

  • Font family: Inter / Poppins / Sans-serif modern
  • Heading: Semi-bold
  • Body text: Regular
  • Angka KPI: Bold

Ukuran:

  • H1: 2428px
  • H2: 1820px
  • Body: 1416px

4.3 Spasi & Card

  • Padding card: 1620px
  • Gap antar card: 16px
  • Border radius: 1216px
  • Shadow ringan

5. Responsivitas

Desktop

  • Sidebar terbuka penuh
  • Tabel full

Tablet

  • Sidebar collapse
  • KPI card wrap

Mobile

  • Sidebar drawer
  • KPI card stack
  • Tabel menjadi card list

6. Interaksi & UX Behavior

  • Hover effect pada card & row tabel
  • Tooltip pada ikon & trend
  • Loading skeleton saat fetch data
  • Empty state ("Belum ada data")

7. Ekspektasi Data (Backend Contract)

KPI API

{
  "umkmAktif": 45,
  "umkmTerdaftar": 68,
  "omzet": 48000000,
  "kategori": 34
}

Produk API

{
  "produk": "Beras Premium Organik",
  "penjualanBulanIni": 8500000,
  "bulanLalu": 8500000,
  "trend": 10,
  "volume": "650 Kg",
  "stok": "850 Kg"
}

8. Catatan Implementasi Teknis

  • Frontend: React + Vite
  • State management: query-based (TanStack Query)
  • Chart (jika ditambah): Recharts / Chart.js
  • Format uang: Intl.NumberFormat("id-ID")

9. Acceptance Checklist

  • Semua KPI muncul & valid
  • Filter waktu berfungsi
  • Trend naik/turun akurat
  • Responsif mobile
  • Empty & loading state tersedia

Dokumen ini bersifat final reference untuk implementasi halaman BUMDes & UMKM Desa.