State dan DI
flutter_bloc^9.1equatable^2.0get_it^9.0freezed^3.2
BLoC per fitur: produk, keranjang, checkout, dashboard, pesanan. Event dan state eksplisit, jadi mudah dites dan dilacak.
Untuk developer
Flutter dengan Clean Architecture, state management BLoC, dan database SQLite lokal. Kodenya terpisah per lapisan, ada test, dan siap kamu ubah jadi produk sendiri.
# Alur data satu arah
Screen
→ BLoC event masuk, state keluar
→ Use Case satu aksi bisnis, satu kelas
→ Repository kontrak di domain, implementasi di data
→ DAO query SQL, tanpa ORM
→ SQLite app.db, di perangkat
# Struktur folder
lib/
├─ app/
│ ├─ data/ DAO, tabel, repository impl
│ ├─ domain/ entity (freezed), use case
│ └─ presentation/ screen + BLoC
├─ core/ DI, helper, widget bersama
└─ config/ tema dan ukuran
freezed dan json_serializable, lengkap dengan copyWith dan equality.get_it.config/. Ganti merek cukup dari beberapa file.flutter_bloc^9.1equatable^2.0get_it^9.0freezed^3.2BLoC per fitur: produk, keranjang, checkout, dashboard, pesanan. Event dan state eksplisit, jadi mudah dites dan dilacak.
sqflite^2.4flutter_secure_storage^10.0path_provider^2.1Checkout berjalan dalam satu transaksi database, jadi pesanan, item, dan stok tersimpan bersama atau batal bersama. Batalkan pesanan mengembalikan stok. Pengaturan toko disimpan terenkripsi.
esc_pos_utils_plus^2.0print_bluetooth_thermal^1.1Cetak ke printer thermal Bluetooth lewat ESC/POS, kertas 58 mm. Isi struk dibuat di receipt_text_helper, dipakai juga untuk pratinjau dan kirim lewat WhatsApp.
pdf^3.12archive^4.0xml^6.6file_picker^11.0share_plus^12.0File Excel (.xlsx) dibuat dan dibaca langsung dari XML tanpa paket Excel pihak ketiga. Dashboard diekspor ke PDF. Backup berupa ZIP berisi database dan pengaturan, dengan pemeriksaan sebelum restore.
syncfusion_flutter_charts^31.2syncfusion_flutter_datepicker^31.2intl^0.20lottie^3.3Material 3 dengan tema flat dan satu skala huruf. Grafik penjualan per jam, hari, minggu, dan bulan. Format rupiah dan tanggal Indonesia.
flutter_testintegration_testsqflite_common_ffi^2.4flutter_lints^6.0Test DAO berjalan di SQLite in-memory, tanpa emulator. Yang dites antara lain checkout, stok, pembatalan, laba rugi, impor Excel, backup dan restore, serta ekspor PDF.
Android (sudah rilis di Google Play) dan iOS. Build dengan flutter build apk atau flutter build appbundle. Tanpa keystore, build release otomatis memakai debug signing supaya langsung bisa dicoba. README di source code memuat langkah instalasi, build, dan ganti merek.
Aplikasi bekerja offline dan tidak punya backend. Kalau butuh sinkronisasi cloud atau multi-cabang, itu kamu tambahkan sendiri. Lapisan repository sudah memisahkan sumber data, jadi tempat menyambungkan API sudah jelas. Grafik memakai Syncfusion, yang punya ketentuan lisensi sendiri (ada Community License untuk yang memenuhi syarat). Periksa sebelum dipakai komersial.
Unduh aplikasinya dan coba sendiri. Kalau cocok dan kamu mau punya kodenya, beli source code atau tanya dulu ke admin.