Skip to content

Latest commit

Β 

History

224 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± SapaWarga

Sistem Informasi Manajemen RT/RW Digital

Flutter Dart Supabase Firebase License

Aplikasi mobile berbasis Flutter untuk digitalisasi pengelolaan RT/RW dengan fitur Computer Vision untuk deteksi kesegaran sayuran

Fitur β€’ Teknologi β€’ Instalasi β€’ Tim


πŸ“– Tentang Proyek

SapaWarga adalah aplikasi mobile cross-platform yang dikembangkan sebagai solusi digitalisasi pengelolaan data dan administrasi tingkat RT/RW. Aplikasi ini merupakan versi mobile dari sistem informasi Jawara berbasis web, dengan pengembangan lebih lanjut untuk meningkatkan aksesibilitas dan kemudahan penggunaan.

🎯 Latar Belakang

Pengelolaan RT/RW secara konvensional seringkali menghadapi kendala dalam hal:

  • Pencatatan data warga yang tidak terstruktur
  • Pengelolaan keuangan yang kurang transparan
  • Komunikasi yang tidak efisien antara pengurus dan warga
  • Kesulitan akses informasi bagi warga

SapaWarga hadir untuk mengatasi permasalahan tersebut dengan menyediakan platform digital yang dapat diakses kapan saja dan di mana saja.

✨ Keunggulan

  • πŸ“± Multi-Platform: Support Android, iOS.
  • πŸ” Secure Authentication: Sistem autentikasi aman dengan Supabase Auth
  • πŸ₯¦ Computer Vision: Deteksi kesegaran sayur otomatis menggunakan LightGBM dan U-2-Net
  • πŸ“Š Real-time Data: Sinkronisasi data real-time dengan Supabase PostgreSQL
  • 🎨 Modern UI: Desain intuitif menggunakan Moon Design System
  • πŸ“ˆ Analytics: Visualisasi data dengan grafik interaktif (FL Chart)
  • πŸ“„ PDF Generation: Cetak laporan keuangan dalam format PDF
  • πŸ›’ Marketplace: Platform UMKM warga dengan sistem review dan rating

🎯 Fitur Utama

πŸ‘€ Manajemen Pengguna (Role-Based Access)

  • 6 Role Pengguna: Admin, Ketua RT, Ketua RW, Bendahara, Sekretaris, Warga
  • Autentikasi dan authorization berbasis role
  • Manajemen profil dan data pribadi
  • Reset password dan keamanan akun

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Manajemen Penduduk & Keluarga

  • Daftar warga per RT/RW dengan pencarian dan filter
  • Data keluarga dan anggota keluarga
  • Manajemen kartu keluarga (KK)
  • Statistik demografi warga
  • Detail informasi warga lengkap

πŸ’° Manajemen Keuangan

  • Pemasukan:
    • Iuran warga (bulanan/tahunan)
    • Pemasukan lain-lain dengan kategori
    • Tracking status pembayaran per warga
    • Upload bukti pembayaran
  • Pengeluaran:
    • Pencatatan pengeluaran dengan bukti
    • Kategorisasi pengeluaran
    • Validasi pengeluaran oleh bendahara
  • Laporan Keuangan:
    • Laporan real-time per bulan/tahun
    • Visualisasi grafik pemasukan/pengeluaran (Bar Chart)
    • Filter berdasarkan periode waktu
    • Export laporan ke PDF
    • Dashboard keuangan dengan ringkasan saldo
    • Transparansi keuangan untuk semua warga

πŸ“’ Kegiatan & Komunikasi

  • Broadcast: Pengumuman ke seluruh warga RT/RW
  • Kegiatan: Manajemen event dan kegiatan RT/RW dengan foto dokumentasi
  • Aspirasi Warga: Sistem pengaduan dan saran dari warga
  • Log Aktivitas: Tracking aktivitas pengguna dalam sistem
  • Notifikasi: Informasi kegiatan dan pengumuman penting

πŸ›’ Marketplace UMKM Warga

  • Toko Online Warga:
    • Registrasi toko dengan validasi admin
    • Manajemen produk (CRUD)
    • Upload foto produk multiple
    • Computer Vision: Deteksi kesegaran sayur otomatis menggunakan AI
      • Model: LightGBM Classifier
      • Segmentasi: U-2-Net (ONNX)
      • Features: HOG, LBP, Color Histogram, Texture (GLCM)
      • API: FastAPI hosted on HuggingFace Spaces
    • Status toko: pending, approved, rejected, deactivated
  • Shopping:
    • Browse produk dari warga dengan filter dan pencarian
    • Keranjang belanja dengan update quantity real-time
    • Sistem order dan checkout
    • Rating dan review produk (bintang 1-5)
    • History pembelian
  • Manajemen Toko:
    • Dashboard penjualan untuk pemilik toko
    • Manajemen pesanan (pending, processing, completed, cancelled)
    • Validasi toko dan produk oleh admin
    • Tracking status pesanan
    • Statistik penjualan

πŸ“Š Dashboard & Reporting

  • Dashboard berbeda untuk setiap role (Admin, RT, RW, Bendahara, Sekretaris, Warga)
  • Statistik dan visualisasi data real-time
  • Grafik interaktif menggunakan FL Chart (Bar Chart, Pie Chart)
  • Export laporan keuangan ke PDF dengan format profesional
  • Widget cards untuk ringkasan data penting
  • Filter dan pencarian data yang fleksibel

🎯 Demo Video

Rekaman demo diambil melalui web dikarenakan keterbatasan pada mobile dan beberapa fitur tidak ditunjukkan.

πŸ‘€ Manajemen Pengguna

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Manajemen Penduduk & Keluarga

Manajemen Keluarga (Warga)

Manajemen Penduduk (Admin)

πŸ’° Manajemen Keuangan

πŸ“’ Kegiatan & Komunikasi

Aspirasi Warga

Manajemen Kegiatan (Admin)

πŸ›’ Marketplace UMKM Warga

Belanja Produk (Warga)

Manajemen Toko (Warga)

Validasi Produk (Admin)


πŸ“ Struktur Proyek

lib/
β”œβ”€β”€ main.dart                 # Entry point aplikasi dengan Supabase & Firebase init
β”œβ”€β”€ router.dart               # Konfigurasi routing (GoRouter)
β”œβ”€β”€ firebase_options.dart     # Firebase configuration (auto-generated)
β”œβ”€β”€ utils.dart                # Helper functions & utilities
β”œβ”€β”€ constants/                # Konstanta (colors, strings, endpoints)
β”œβ”€β”€ models/                   # Data models
β”‚   β”œβ”€β”€ keluarga/            # Models warga, keluarga, KK
β”‚   β”œβ”€β”€ keuangan/            # Models laporan keuangan, transaksi
β”‚   β”œβ”€β”€ kegiatan/            # Models kegiatan, broadcast, aspirasi
β”‚   β”œβ”€β”€ log/                 # Models activity log
β”‚   └── marketplace/         # Models produk, toko, order, cart, review
β”œβ”€β”€ providers/               # State management (Provider pattern)
β”‚   β”œβ”€β”€ product_provider.dart
β”‚   └── marketplace/         # Cart, Store, Order, Review providers
β”œβ”€β”€ services/                # API services & business logic
β”‚   β”œβ”€β”€ warga_service.dart
β”‚   β”œβ”€β”€ keluarga_service.dart
β”‚   β”œβ”€β”€ kegiatan_service.dart
β”‚   β”œβ”€β”€ broadcast_service.dart
β”‚   β”œβ”€β”€ aspirasi_service.dart
β”‚   β”œβ”€β”€ pengguna_service.dart
β”‚   β”œβ”€β”€ activity_log_service.dart
β”‚   β”œβ”€β”€ channel_transfer_service.dart
β”‚   └── marketplace/         # Marketplace services
β”‚       β”œβ”€β”€ product_service.dart
β”‚       β”œβ”€β”€ store_service.dart
β”‚       β”œβ”€β”€ cart_service.dart
β”‚       β”œβ”€β”€ order_service.dart
β”‚       β”œβ”€β”€ review_service.dart
β”‚       β”œβ”€β”€ store_verification_helper.dart
β”‚       └── vegetable_detection_service.dart
β”œβ”€β”€ screens/                 # UI Screens by role
β”‚   β”œβ”€β”€ auth/               # Login, Register screens
β”‚   β”œβ”€β”€ admin/              # Admin screens (full access)
β”‚   β”œβ”€β”€ rt/                 # Ketua RT screens
β”‚   β”œβ”€β”€ rw/                 # Ketua RW screens
β”‚   β”œβ”€β”€ bendahara/          # Bendahara screens (finance focus)
β”‚   β”œβ”€β”€ sekretaris/         # Sekretaris screens
β”‚   └── warga/              # Warga screens (limited access)
β”‚       β”œβ”€β”€ dashboard/      # Dashboard warga
β”‚       β”œβ”€β”€ kegiatan/       # Kegiatan & broadcast
β”‚       β”œβ”€β”€ keluarga/       # Data keluarga
β”‚       β”œβ”€β”€ marketplace/    # Shopping, cart, orders
β”‚       └── profil/         # Profile management
└── widget/                  # Reusable widgets & components

PCVK/                        # Computer Vision API (Python FastAPI)
β”œβ”€β”€ main.py                  # FastAPI application
β”œβ”€β”€ models/                  # Pre-trained ML models (LightGBM, U-2-Net)
β”‚   β”œβ”€β”€ lgbm_model.pkl      # LightGBM classifier
β”‚   └── u2netp.onnx         # U-2-Net segmentation model
β”œβ”€β”€ requirements.txt         # Python dependencies
β”œβ”€β”€ Dockerfile              # Container configuration
└── test/                   # API testing scripts

integration_test/            # Integration tests (E2E)
β”œβ”€β”€ login_test.dart
β”œβ”€β”€ register_test.dart
β”œβ”€β”€ daftar_warga_test.dart
└── end_to_end/             # Full flow tests

test/                        # Unit & Widget tests
β”œβ”€β”€ unit/                   # Unit tests
β”œβ”€β”€ api/                    # API service tests
β”œβ”€β”€ fixtures/               # Test fixtures & mock data
β”œβ”€β”€ pytest/                 # Python API tests
└── load/                   # Load testing scripts

πŸ‘₯ Tim Pengembang

Avatar Nama NIM Role Kontribusi
πŸ‘¨β€πŸ’» Afrizal Qurratul Faizin 2341720083 Backend Developer Backend logic, E2E Testing
πŸ‘¨β€πŸ’» Cakra Wangsa M.A.W 2341720032 Fullstack Developer Full-stack development, ML integration, Marketplace, Computer Vision
πŸ‘¨β€πŸ’» Sirfaratih 2341720072 Frontend Developer UI/UX design, Frontend implementation, Widget development
πŸ‘¨β€πŸ’» Tionusa Catur Pamungkas 2341720093 Backend Developer Backend logic, Authentication & Authorization, Integration testing, Database design

πŸŽ“ Informasi Akademik

Institusi: Politeknik Negeri Malang
Program Studi: D4 Teknik Informatika
Mata Kuliah: Project Based Learning (PBL) - Semester 5
Tahun Ajaran: 2024/2025 Ganjil
Kelompok: 2


πŸ“„ Lisensi

Project ini dibuat untuk keperluan akademik dan pembelajaran. Tidak untuk dipublikasikan secara komersial tanpa izin.


πŸ™ Acknowledgments

  • Politeknik Negeri Malang - D4 Teknik Informatika
  • Supabase untuk Backend as a Service
  • Firebase untuk platform development
  • Flutter Team & Flutter Community
  • Moon Design System
  • HuggingFace untuk hosting ML model Computer Vision
  • Semua open-source contributors yang library-nya digunakan dalam project ini

Made with ❀️ by Kelompok 2 - PBL Semester 5

⭐ Star repository ini jika bermanfaat!

About

Kode sumber dan dokumentasi proyek PBL Jawara Mobile, hasil kerja tim yang berfokus pada pembelajaran kolaboratif dan pengembangan aplikasi mobile.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages