WarungLite

Poin 5. Arsitektur aplikasi

Aplikasi native Kotlin dengan pola MVVM dan Repository. Tidak ada server: semua proses berjalan di perangkat.

Lapisan Isi
Presentasi Activity, Fragment, Bottom Navigation, RecyclerView + Adapter + ViewHolder
Logika ViewModel (state layar) dan Repository (satu pintu data)
Data lokal SQLite, SharedPreferences, file internal (foto, ekspor)
Layanan CameraX, ML Kit Barcode, AdMob SDK, Play Billing (rencana Pro)

Alur data transaksi

  1. Pengguna memilih atau memindai produk.
  2. Produk masuk keranjang dan total dihitung.
  3. Saat bayar, Repository menyimpan transaksi, rincian item, dan pengurangan stok dalam satu transaksi database.
  4. Riwayat dan laporan membaca data dari SQLite.

Basis data

Tabel Kolom utama
produk id, nama, barcode, harga_beli, harga_jual, stok, foto_path
transaksi id, tanggal, total, uang_diterima, metode_bayar
transaksi_item id, transaksi_id, produk_id, qty, harga_satuan, harga_beli_saat_jual

SharedPreferences menyimpan: nama_toko, tema_gelap, ambang_stok, onboarding_selesai, status_pro.