Frequently Asked Questions (FAQ)
Jawaban untuk pertanyaan yang sering diajukan tentang MStore Mobile.π± General
Apa itu MStore Mobile?
MStore Mobile adalah aplikasi Point of Sale (POS) modern berbasis Flutter yang dirancang untuk membantu pengelolaan toko retail, khususnya toko mushola. Aplikasi ini menyediakan fitur lengkap mulai dari kasir, manajemen inventori, laporan, hingga integrasi dengan berbagai sistem pembayaran.Platform apa saja yang didukung?
MStore Mobile mendukung:- iOS 12.0 ke atas
- Android 5.0 (API 21) ke atas
- Web (Chrome, Safari, Firefox)
- Windows 10 ke atas
- macOS 10.14 ke atas
Apakah MStore bisa digunakan offline?
Ya! MStore menggunakan arsitektur offline-first. Anda bisa tetap melakukan transaksi dan mengelola inventori tanpa koneksi internet. Data akan otomatis tersinkronisasi saat koneksi tersedia.Berapa biaya MStore Mobile?
Silakan hubungi tim sales untuk informasi harga dan paket berlangganan.π Installation & Setup
Bagaimana cara install MStore Mobile?
Lihat panduan lengkap di Installation Guide. Ringkasan:Apa saja requirement untuk development?
- Flutter SDK 3.8+
- Dart SDK 3.8+
- Xcode 14+ (untuk iOS)
- Android Studio (untuk Android)
- CocoaPods (untuk iOS)
Bagaimana cara setup Firebase?
- Buat project di Firebase Console
- Download konfigurasi:
- iOS:
GoogleService-Info.plist - Android:
google-services.json
- iOS:
- Letakkan di folder yang sesuai
- Enable Firebase services (Auth, Firestore, FCM, Crashlytics)
π» Development
Bagaimana cara menambahkan fitur baru?
- Buat branch baru:
git checkout -b feature/nama-fitur - Ikuti struktur folder yang ada
- Implement dengan BLoC pattern
- Tambahkan unit tests
- Update dokumentasi
- Create pull request
Bagaimana cara menjalankan tests?
Bagaimana cara generate code?
Kenapa build_runner error βConflicting outputsβ?
Gunakan flag--delete-conflicting-outputs:
ποΈ Architecture
Apa arsitektur yang digunakan?
MStore menggunakan Clean Architecture dengan BLoC Pattern:- Presentation Layer: UI, Widgets, BLoC
- Domain Layer: Business Logic, Use Cases, Entities
- Data Layer: Repository, API, Database
Mengapa menggunakan BLoC?
BLoC (Business Logic Component) memberikan:- β Separation of concerns
- β Testability
- β Reusability
- β Predictable state management
- β Easy debugging
Bagaimana cara kerja offline-first?
- Data disimpan di local database (Isar)
- UI membaca dari local database
- Background sync dengan API
- Conflict resolution otomatis
- Real-time updates via MQTT
π Authentication
Bagaimana cara login?
MStore mendukung multiple authentication methods:- Email/Password
- Google Sign-In
- Apple Sign-In
Bagaimana token management?
- Access Token: Short-lived (15 menit)
- Refresh Token: Long-lived (30 hari)
- Auto-refresh: Handled by
RefreshTokenInterceptor - Storage: Encrypted di Isar database
Apa yang terjadi saat token expired?
RefreshTokenInterceptor otomatis:
- Detect HTTP 401 response
- Call refresh token endpoint
- Update tokens
- Retry original request
- Jika refresh gagal β logout user
π³ Cashier & Transactions
Bagaimana cara melakukan transaksi?
- Buka halaman Cashier
- Cari dan tambahkan produk ke cart
- Atur quantity jika perlu
- Klik Checkout
- Pilih metode pembayaran
- Input jumlah bayar (untuk cash)
- Process payment
- Print receipt (opsional)
Apakah bisa scan barcode?
Ya! Gunakan tombol scanner di search bar atau tekanF3 (keyboard shortcut).
Metode pembayaran apa saja yang didukung?
- Cash
- Debit/Credit Card
- E-Wallet (GoPay, OVO, Dana, dll)
- Bank Transfer
- QRIS
Bagaimana cara print receipt?
- Pair Bluetooth thermal printer
- Configure di Settings β Printer
- Receipt akan auto-print setelah transaksi
- Atau manual print dari Transaction History
π¦ Inventory
Bagaimana cara menambah produk?
- Buka Inventory β Products
- Klik tombol βAdd Productβ
- Isi form (nama, SKU, harga, stok, dll)
- Upload foto (opsional)
- Save
Bagaimana cara stock opname?
- Buka Inventory β Stock Opname
- Pilih produk
- Input actual stock
- System akan create adjustment otomatis
- Review dan approve
Bagaimana cara set low stock alert?
Saat create/edit product, set fieldminStock. System akan kirim notifikasi saat stock di bawah threshold.
π Reports & Analytics
Report apa saja yang tersedia?
- Sales Report: Revenue, transactions, trends
- Inventory Report: Stock levels, movements
- Financial Report: Profit, expenses, cash flow
- Product Report: Top sellers, slow movers
- Employee Report: Performance, transactions
Bagaimana cara export report?
- Buka report yang diinginkan
- Set date range dan filters
- Klik tombol Export
- Pilih format (PDF/Excel)
- File akan di-download
Apakah ada dashboard real-time?
Ya! Dashboard menampilkan:- Todayβs revenue
- Transaction count
- Top products
- Low stock alerts
- Recent transactions
π¨οΈ Printer
Printer apa yang didukung?
MStore mendukung Bluetooth thermal printer dengan ESC/POS protocol. Tested printers:- Epson TM-T82
- Star TSP143III
- Zebra ZD410
- Generic 58mm/80mm thermal printers
Bagaimana cara connect printer?
- Pair printer via Bluetooth settings
- Buka Settings β Printer
- Scan for devices
- Select printer
- Test print
Print tidak keluar, kenapa?
Troubleshooting:- β Printer paired dan connected
- β Printer has paper
- β Bluetooth permissions granted
- β Printer turned on
- β Try test print
π Network & Sync
Bagaimana cara kerja sync?
- Write: Data ditulis ke local database
- Queue: Request di-queue untuk sync
- Sync: Background job sync ke API
- Retry: Auto-retry jika gagal
- Conflict: Last-write-wins strategy
Apa itu MQTT dan untuk apa?
MQTT adalah protocol untuk real-time messaging. Digunakan untuk:- Real-time inventory updates
- Transaction notifications
- System announcements
- Multi-device sync
Bagaimana jika sync conflict?
Default strategy: Last-write-wins- Server timestamp digunakan sebagai reference
- Local data di-override dengan server data
- Conflict log disimpan untuk audit
π§ Troubleshooting
App crash saat startup
- Check logs:
flutter logs - Clear app data
- Reinstall app
- Check Firebase configuration
- Verify API endpoint
Data tidak sync
- Check internet connection
- Verify API credentials
- Check sync queue: Settings β Sync Status
- Manual sync: Pull to refresh
- Clear cache dan re-sync
Build failed
π Security
Apakah data aman?
Ya! MStore menggunakan:- β HTTPS untuk semua komunikasi
- β JWT token authentication
- β Encrypted local storage
- β Role-based access control
- β Audit logging
Bagaimana cara backup data?
Data otomatis backup ke cloud (Firestore). Untuk manual backup:- Settings β Backup & Restore
- Export data
- Save to secure location
Apa yang terjadi jika device hilang?
- Login dari device lain
- Revoke access dari device lama
- Data tetap aman di cloud
- Transaction history tetap tersimpan
π Support
Bagaimana cara mendapat bantuan?
- π Baca Documentation
- π¬ Internal Slack channel
- π§ Email: [email protected]
- π Report bug via issue tracker
Bagaimana cara request fitur baru?
- Check roadmap untuk planned features
- Create feature request di issue tracker
- Describe use case dan benefit
- Team akan review dan prioritize
Dimana saya bisa belajar lebih lanjut?
π Additional Resources
Tidak menemukan jawaban?
Silakan hubungi tim support atau buat issue di repository. Last Updated: October 14, 2024