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
- Pengguna memilih atau memindai produk.
- Produk masuk keranjang dan total dihitung.
- Saat bayar, Repository menyimpan transaksi, rincian item, dan pengurangan stok dalam satu transaksi database.
- 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.