MyStore Manager is an offline-first Android application built to manage sales, purchases, inventory, workers, accounting, and reports for small retail businesses — especially battery shops.
The app is designed to be simple, reliable, and practical, optimized for low-end Android devices and real-world shop workflows.
To provide a single Android app that allows a shop owner to:
- Manage products and stock
- Handle battery sales with old battery exchange
- Record purchases and supplier dues
- Track worker salaries and advances
- Maintain accurate accounting
- View business reports
- Work 100% offline with backup & restore support
- Add, update, deactivate workers
- Record salary & advance payments
- Worker ledger tracking
- Automatic accounting entry for every payment
- Multiple product categories (Battery, UPS, Inverter, Accessories, Services)
- Add & update products
- Real-time stock tracking
- Manual stock adjustment with reason & audit trail
- Low-stock visibility
- Multi-product sales
- Old battery exchange (battery products only)
- Automatic bill calculation
- Cash / UPI / Credit payments
- Invoice generation & sharing
- Accurate stock deduction
- Supplier management
- Cash, partial, and credit purchases
- Supplier due tracking
- Automatic stock increment
- Conditional accounting entry
- Centralized transaction system (IN / OUT)
- Daily & monthly summaries
- Profit / loss foundation
- No missing or duplicate entries
- Manual database backup
- Backup file stored in local device storage (File Manager)
- Backup file naming format:
- Full data restore from backup file
- No internet required
- Sales reports
- Stock reports
- Worker payment reports
- Purchase reports
- Old battery collection reports
| Layer | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose |
| Architecture | MVVM |
| Database | Room (SQLite) |
| State | ViewModel + StateFlow |
| Persistence | Offline-first |
| Backup | Local database file copy |
| Build Tool | Gradle |
MyStore Manager follows Clean MVVM Architecture:
- UI never accesses the database directly
- ViewModel never talks to DAO
- Repository owns all business logic
- All money movements go through
Transaction
- Sales & Billing
- Purchases & Suppliers
- Inventory & Stock
- Worker Management
- Accounting
- Reports
- Backup & Restore
- Fully normalized schema
- Central
Transactionentity for all financial events - Stock stored in a single authoritative table
- No hard deletes (audit-safe)
- Append-only accounting records
- Methodology: Scrum (Lightweight)
- Sprint Length: 2 weeks
- Delivery: Incremental working APK
- Works offline
- Data persists after restart
- Backup file generated correctly
- Restore works without data loss
- No crash on low-end devices
- Verified on real Android phone
- Sprint 0 – Requirements, UML, Architecture
- Sprint 1 – App setup, Room DB, Workers & Products
- Sprint 2 – Sales & Billing
- Sprint 3 – Purchases & Inventory
- Sprint 4 – Worker Payments & Accounting
- Sprint 5 – Reports
- Sprint 6 – Backup, Restore & Final Release
- Fully functional without internet
- Local Room database
- Manual local backup
- Restore from File Manager
- No server dependency
- Stock never goes negative
- Transactions are immutable
- Corrections use reversal entries
- Accounting is the single source of truth
- Backup & restore do not modify history
- No silent data manipulation
- Manual testing on real devices
- Focus on:
- Stock accuracy
- Accounting correctness
- Backup creation
- Restore correctness
- Crash-free operation
- Real business scenarios
- UML Diagrams (Use Case, ER, Class, Sequence, Statechart, Component, Deployment)
- Database schema
- Business rules
- Sprint plan
- Workflow definitions
- Android source code (Kotlin)
- APK / AAB
- Backup
.dbfile - Database design
- UML diagrams
- User documentation
- Release notes
- Optional cloud sync
- Multi-device sync
- User authentication
- GST / tax support
- Barcode scanning
- Advanced reporting
- Small retail shop owners
- Battery shops
- Electrical / hardware stores
- Offline-first business users
This project is private / client-owned unless stated otherwise.
- Architecture & UML: Completed
- Development: Completed
- Backup & Restore: Implemented
- Production Ready Target: Sprint 6
MyStore Manager – Built for real shops. Simple. Offline. Reliable.