A comprehensive shop management mobile application built with Flutter for single-store businesses.
-
Authentication
- PIN-based login
- Biometric authentication (Fingerprint/Face ID)
- Secure local storage
-
Dashboard
- Today's sales and purchase summary
- Cash and bank balance overview
- Outstanding tracking (receivables/payables)
- Quick action buttons
- Low stock alerts
-
Product Management
- Add/Edit products
- Barcode support
- Category management
- Stock tracking
- GST rates
- Image upload
-
Sales Module
- Invoice creation
- Payment tracking
- Sales history
-
Purchase Module
- Purchase bill entry
- Supplier management
- Purchase history
-
Party Management
- Customer/Supplier management
- Contact information
- Outstanding tracking
-
Reports
- Sales reports
- Purchase reports
- Profit & Loss
- GST reports
- Stock reports
-
Settings
- Business information
- Biometric toggle
- PIN management
- Data backup/restore
- Framework: Flutter
- Language: Dart
- Backend: Supabase (PostgreSQL)
- Local Database: SQLite (sqflite)
- State Management: Riverpod 2.x
- Navigation: go_router
- Authentication: local_auth
- PDF Generation: pdf package
- Printing: printing + blue_thermal_printer
- Barcode: mobile_scanner + barcode_widget
- Charts: fl_chart
- Flutter SDK (latest stable version)
- Android Studio / VS Code
- Android device or emulator
-
Clone the repository
cd shop_management_app -
Install dependencies
flutter pub get
-
Configure Supabase (Optional for cloud sync)
- Create a Supabase project at https://supabase.com
- Update
lib/core/config/supabase_config.dartwith your credentials:
static const String url = 'YOUR_SUPABASE_URL'; static const String anonKey = 'YOUR_SUPABASE_ANON_KEY';
-
Run the app
flutter run
- Create PIN: On first launch, create a 4-6 digit PIN
- Business Setup: Enter your shop details (name, owner, phone, address, GSTIN)
- Enable Biometric (Optional): Go to Settings → Enable biometric authentication
lib/
├── core/
│ ├── constants/ # App constants and routes
│ ├── config/ # Configuration files
│ ├── theme/ # App theme
│ └── utils/ # Utility functions
├── data/
│ ├── models/ # Data models
│ ├── repositories/ # Data repositories
│ └── services/ # Services (Auth, Database, etc.)
├── presentation/
│ ├── providers/ # Riverpod providers
│ ├── screens/ # UI screens
│ └── widgets/ # Reusable widgets
└── routes/ # Navigation routes
The app uses both local SQLite and Supabase PostgreSQL for offline-first architecture.
users- Business/user informationproducts- Product inventorycategories- Product categoriesparties- Customers and supplierssales_invoices- Sales transactionssale_items- Invoice line itemspurchases- Purchase transactionspurchase_items- Purchase line itemspayments- Payment recordsexpenses- Business expensesbank_accounts- Bank account detailscash_transactions- Cash flow tracking
- ✅ Authentication with biometric
- ✅ Dashboard
- ✅ Product management
- ✅ Basic sales and purchase screens
- ✅ Party management
- ✅ Settings
- Complete invoice generation with PDF
- Payment tracking
- Expense management
- Barcode scanning
- Thermal printer support
- Advanced reports with charts
- GST filing support
- WhatsApp integration
- Cloud sync with Supabase
- Multi-user support
- Backup/Restore functionality
USE_BIOMETRIC- For fingerprint/face authenticationCAMERA- For barcode scanning (when implemented)WRITE_EXTERNAL_STORAGE- For PDF exportBLUETOOTH- For thermal printer (when implemented)
This is a complete shop management solution. Feel free to customize based on your needs.
Private project - All rights reserved
For issues or questions, please contact the development team.