MStore Mobile - Flutter POS Application
MStore Mobile adalah aplikasi Point of Sale (POS) modern yang dibangun dengan Flutter 3.8+ menggunakan Clean Architecture dan BLoC Pattern.🎯 Key Features
Cashier System
Sistem kasir cepat dengan barcode scanning dan offline-first
Inventory Management
Manajemen stok real-time dengan MQTT sync
Dashboard & Reports
Analytics dan laporan penjualan lengkap
Offline-First
Tetap bisa transaksi tanpa internet
🏗️ Architecture
🚀 Tech Stack
Core Technologies
- Flutter: 3.8+
- Dart: 3.8+
- State Management: BLoC 9.0+
- Dependency Injection: GetIt + Injectable
Networking
- HTTP Client: Dio 5.9+
- API Client: Retrofit 4.7+
- Real-time: MQTT5 Client
Database & Storage
- Local DB: Isar Community (NoSQL)
- Persistent State: Hydrated BLoC
- Secure Storage: Encrypted Isar
Firebase Integration
- Authentication: Firebase Auth
- Cloud Storage: Firestore
- Push Notifications: FCM
- Crash Reporting: Crashlytics
- Analytics: Firebase Analytics
UI/UX
- Routing: GoRouter
- Internationalization: Slang
- Theming: Theme Tailor
- Screen Adaptation: ScreenUtil
- Platform UI: Cupertino + Material
Additional
- Printer: Bluetooth thermal printer
- Barcode: Mobile Scanner
- Image: Cached Network Image
- Permissions: Permission Handler
📱 Platform Support
iOS
iOS 12.0+
Android
Android 5.0+ (API 21+)
Web
Chrome, Safari, Firefox
🎨 Design Principles
Clean Architecture
- Separation of Concerns: UI, Business Logic, Data terpisah
- Testability: Mudah di-unit test
- Maintainability: Code yang mudah di-maintain
- Scalability: Mudah dikembangkan
BLoC Pattern
- Predictable State: State changes yang jelas
- Reusability: BLoC bisa digunakan di multiple screens
- Debugging: Easy to track state changes
- Testing: Business logic terpisah dari UI
Offline-First
- Local Database: Data disimpan di Isar
- Background Sync: Auto-sync saat online
- Conflict Resolution: Smart conflict handling
- Real-time Updates: MQTT untuk instant updates
🔐 Security Features
Authentication & Authorization
Authentication & Authorization
Data Security
Data Security
- Encrypted local storage
- HTTPS-only communication
- Secure token storage
- Data encryption at rest
Network Security
Network Security
- Certificate pinning (optional)
- Request signing
- Rate limiting
- API key rotation
📊 Performance
- Startup Time: < 2 seconds
- Transaction Speed: < 1 second
- Offline Capability: Full functionality
- Memory Usage: Optimized with Isar
- Battery Efficient: Background sync optimization
🔄 Development Workflow
Environments
- Development: Local development & testing
- Staging: Pre-production testing
- Production: Live environment
📚 Documentation Structure
Getting Started
Setup development environment
Architecture
Understand the architecture
Features
Feature documentation
API Reference
API endpoints & models
🚀 Quick Start
1
Clone Repository
2
Install Dependencies
3
Generate Code
4
Run App
📖 Next Steps
Installation Guide
Detailed setup instructions
Configuration
Environment & Firebase setup
Architecture Guide
Deep dive into architecture
Development Guide
Development best practices