You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enterprise Desktop Point of Sale & Retail Management System
Overview
Bayaa POS is a professional Windows desktop Point of Sale application built with Flutter. Designed for retail stores and mobile phone shops, it delivers fast checkout, complete inventory control, partial refund management, and powerful analytics — all powered by an offline-first local SQLite database with no server required.
Why Bayaa?
Zero internet dependency — fully offline, data stays on your machine
Cubit over Bloc — simpler state management for CRUD-heavy screens; no event classes needed
Singleton cubits via GetIt — shared state across the app (e.g., SalesCubit, InvoiceCubit)
Repository pattern — abstract interfaces in domain/, SQLite implementations in data/
Reactive sync — ActivityLogger broadcasts a stream; cubits subscribe and auto-refresh when relevant activities occur
StateSynchronizer — lightweight event bus for cross-feature data change notifications
Either pattern — all repository methods return Either<Failure, T> for explicit error handling
Screenshots
Login
Sales Interface
POS Checkout
Cart & Search
Manager Views
Dashboard
Invoices
Products
Add Product
Restock Product
Refund Invoice
Daily Report (1)
Daily Report (2)
Daily Report (3)
Report History
Analytics (ARP)
Stock Summary (1)
Stock Summary (2)
Stock Summary (3)
Settings (1)
Settings (2)
Settings (3)
Cashier Views
Dashboard
Invoices
Products
Settings
Shared
Invoice Preview
Out of Stock Alerts
Role Permissions
Feature
Manager
Cashier
Sales / POS checkout
✅
✅
Invoice viewing
✅
✅
Partial refund
✅
✅
Invoice deletion
✅
❌
Bulk invoice deletion
✅
❌
Product management
✅
✅
Stock alerts
✅
✅
Stock summary
✅
❌
Reports & analytics
✅
❌
Session history
✅
❌
Notifications
✅
✅
User management
✅
❌
Store settings
✅
✅
Data backup / restore
✅
❌
Close session
✅
✅
Database
Bayaa uses a local SQLite database (via sqflite_common_ffi) that is automatically created on first launch. No server or internet connection is required.
Tables
Table
Purpose
store_settings
Store name, address, phone, branding
categories
Product categories
products
Product catalog (barcode, pricing, stock)
users
Manager & cashier accounts
shifts
Session open/close records
sales
Sale & refund invoices
sale_items
Line items per sale (with refunded_quantity tracking)
activity_logs
Timestamped audit trail of all operations
The database schema is versioned (currently v5) with automatic migrations.
Visual Studio 2022 with the Desktop development with C++ workload
Installation
# Clone the repository
git clone https://github.com/Desha29/Bayaa.git
cd Bayaa
# Install dependencies
flutter pub get
# Run on Windows
flutter run -d windows
Build for Production
flutter build windows --release
The compiled executable will be in build/windows/x64/runner/Release/.
Note: The SQLite database file is created automatically in the app's data directory on first launch. No manual database setup is needed.
Contributing
Fork the repository
Create a feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
License
This project is proprietary software. All rights reserved.
Enterprise-grade Flutter Desktop POS system for modern retail, featuring offline-first sales, real-time inventory control, smart invoicing, and business analytics — built with Clean Architecture.