Enterprise-Grade Restaurant, Store, Inventory & Accounts Management System
A comprehensive business management solution for Salasar Foods Guwahati
- Overview
- Key Features
- Architecture
- Project Structure
- Technology Stack
- Modules
- Database Schema
- Getting Started
- Deployment
- Security
- Platform Support
- License
Prime Bakes is a full-featured enterprise resource planning (ERP) system designed specifically for bakery and food manufacturing businesses. Built with modern .NET technologies, it provides seamless cross-platform functionality across desktop, mobile, and web environments.
The system handles the complete business lifecycle from raw material procurement to finished goods sales, including restaurant dine-in billing, comprehensive financial accounting, and real-time inventory tracking across multiple locations.
- Dine-In Billing - Desktop and mobile-optimized POS with table management
- Dining Areas & Tables - Area/table configuration for dine-in operations
- KOT (Kitchen Order Ticket) - Thermal printing to kitchen printers
- Bill Thermal Printing - Instant receipt printing via Bluetooth/USB
- Mobile Billing - Cart, payment, and confirmation flow for mobile devices
- Point of Sale (POS) - Desktop and mobile-optimized sales interfaces
- Order Processing - Customer order creation, tracking, and mobile ordering
- Sales Returns - Complete return and refund management
- Stock Transfers - Inter-location inventory transfers with dual-location tracking
- Outlet Summary - Multi-outlet consolidated reporting
- Product Catalog - Products, categories, KOT categories, location-specific pricing
- Customer Management - Customer database with contact information
- Tax Configuration - GST/Tax setup with product-level tax mapping
- Purchase Entry - Raw material procurement with supplier tracking
- Purchase Returns - Return materials to suppliers
- Kitchen Issue - Issue raw materials to production kitchens
- Kitchen Production - Record finished goods production output
- Raw Material Management - Ingredient catalog with categories and UoM
- Recipe Management - Product recipes with Bill of Materials (BOM)
- Product Stock Adjustment - Manual finished goods stock corrections
- Raw Material Stock Adjustment - Manual raw material stock corrections
- Multi-Location Stock - Track inventory across multiple outlets
- Double-Entry Bookkeeping - Complete voucher entry system
- Ledger Management - Full chart of accounts with groups and account types
- Company Management - Multi-company support
- Voucher Types - Payment, receipt, journal, contra entries
- Financial Year Management - Multi-year period support
- State/UT Configuration - State and union territory master data
- Nature & Account Types - Hierarchical account classification
- Auto-Posting - Automatic accounting entries from sales and bills
- Sales Reports - Transaction-level and item-wise with summary/detailed views
- Sale Return Reports - Transaction-level and item-wise breakdowns
- Order Reports - Transaction-level and item-wise analysis
- Stock Transfer Reports - Transaction-level and item-wise tracking
- Bill Reports - Restaurant billing transaction and item reports
- Purchase Reports - Vendor and item-wise purchase analysis
- Purchase Return Reports - Transaction-level and item-wise breakdowns
- Kitchen Issue Reports - Issue transaction and item reports
- Kitchen Production Reports - Production transaction and item reports
- Product Stock Reports - Opening, closing, purchase, sale stock with valuation
- Raw Material Stock Reports - Comprehensive material stock analysis
- Outlet Summary Report - Multi-outlet consolidated performance
- Financial Accounting Report - Voucher-wise accounting transactions
- Accounting Ledger Report - Ledger-wise transaction details
- Trial Balance - Company-wise financial statement
- Profit & Loss - Income statement
- Balance Sheet - Financial position statement
- PDF & Excel Export - All reports exportable in both formats
- Invoice Generation - PDF invoices for all transaction types
- Email Integration - Send invoices and reports via email
- Real-time order and transaction notifications
- Stock alert and production notifications
- Firebase Cloud Messaging integration (Android)
- Azure Notification Hubs backend
- Local notification support on all platforms
- Thermal Printing - Sale, bill, and KOT receipt printing
- Bluetooth Printing - Wireless printer support for mobile devices
- PDF Invoices - Formatted invoices for purchase, sale, bill, order, stock transfer, kitchen issue, kitchen production, and accounting
- Automatic update detection
- Seamless in-app update installation
- Version management via GitHub releases
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENT APPLICATIONS β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββ€
β π± Android β π iOS/macOS β π₯οΈ Windows β π Web Browser β
β MAUI Blazor β MAUI Blazor β MAUI Blazor β Blazor Server β
ββββββββββ¬βββββββββ΄βββββββββ¬βββββββββ΄βββββββββ¬βββββββββ΄ββββββββββββ¬ββββββββββββ
β β β β
βββββββββββββββββββ΄ββββββββββββββββββ΄βββββββββββββββββββββ
β
ββββββββββββββββ΄βββββββββββββββ
β PrimeBakes.Shared β
β (Blazor Components) β
β β’ Pages & Layouts β
β β’ UI Components β
β β’ Services Interfaces β
ββββββββββββββββ¬βββββββββββββββ
β
ββββββββββββββββ΄βββββββββββββββ
β PrimeBakes.Library β
β (Business Logic) β
β β’ Data Access Layer β
β β’ Models & Entities β
β β’ Export & Print Services β
β β’ Notification Services β
ββββββββββββββββ¬βββββββββββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββββββ
β Azure SQL β β Azure Blob β β Push Notifications β
β Database β β Storage β β API β
β β’ 40+ Tables β β β’ Documents β β β’ Azure Notificationβ
β β’ Stored Procs β β β’ Attachments β β Hubs β
β β’ 25+ Views β β β β β’ Firebase FCM β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββββββ
PrimeBakes/
β
βββ π PrimeBakes/ # Main Application Folder
β βββ π± PrimeBakes/ # MAUI Client (Android/iOS/Windows/Mac)
β β βββ Platforms/ # Platform-specific code
β β βββ Resources/ # App icons, splash, fonts
β β βββ Services/ # Native service implementations
β β β βββ Notifications # Push & local notification handling
β β β βββ Bluetooth # Bluetooth printer services
β β β βββ Sound & Vibration # Audio & haptic feedback
β β β βββ Updates # Auto-update service
β β βββ Components/ # MAUI-specific components
β β
β βββ π PrimeBakes.Shared/ # Shared Blazor Components
β β βββ Pages/ # All application pages
β β β βββ Store/ # Sales, orders, products, stock transfer
β β β βββ Restaurant/ # Bills, dining areas/tables, mobile POS
β β β βββ Inventory/ # Purchase, kitchen, stock, recipes, raw materials
β β β βββ Accounts/ # Financial accounting, masters, reports
β β β βββ Operations/ # Users, locations, settings
β β βββ Components/ # Reusable UI components
β β β βββ Button/ # Action buttons, date range, toggles, mobile buttons
β β β βββ Card/ # Balance info cards
β β β βββ Dialog/ # Confirmations, uploads, toasts, validation
β β β βββ Page/ # Header, footer, loader, mobile filters
β β βββ Layout/ # Main layout templates
β β βββ Services/ # Shared service interfaces
β β
β βββ π PrimeBakes.Web/ # Blazor Server Web App
β βββ Services/ # Web-specific implementations
β βββ wwwroot/ # Static assets (images, JS, CSS)
β
βββ π PrimeBakes.Library/ # Core Business Library
β βββ Data/ # Data access classes
β β βββ Store/ # Sale, order, stock transfer, product, masters
β β βββ Restaurant/ # Bill, dining data operations
β β βββ Inventory/ # Purchase, kitchen, stock, recipe, raw material
β β βββ Accounts/ # Financial accounting, masters
β β βββ Operations/ # User, location, settings
β β βββ Common/ # Shared utilities & helpers
β βββ DataAccess/ # Database & blob connectivity
β βββ Models/ # Entity models (80+ classes)
β βββ Exporting/ # PDF, Excel, thermal print & email services (70+ classes)
β βββ Utils/ # Export utilities (PDF, Excel, thermal, mailing)
β
βββ ποΈ PrimeBakes.Database/ # SQL Server Database Project (SSDT)
β βββ Tables/ # 40+ database table definitions
β β βββ Store/ # Product, sale, order, stock transfer tables
β β βββ Restaurant/ # Bill, dining area/table tables
β β βββ Inventory/ # Purchase, kitchen, stock, recipe, raw material tables
β β βββ Accounts/ # Financial accounting, ledger, group, voucher tables
β β βββ Operations/ # User, location, settings tables
β βββ StoredProcedures/ # Stored procedures
β β βββ LoadData/ # Data retrieval procedures
β β βββ Insert/ # Data insertion procedures
β β βββ Delete/ # Data deletion procedures
β βββ Views/ # 25+ database views (overview & item-level)
β
βββ π€ PushNotificationsAPI/ # Notification Backend API
β βββ Controllers/ # API controllers
β βββ Services/ # Notification hub services
β βββ Models/ # API models
β βββ Authentication/ # API key authentication handler
β
βββ π PrimeBakes.Tools/ # Data Import Utility
βββ Program.cs # Bulk data import tool
| Technology | Version | Purpose |
|---|---|---|
| .NET MAUI | 10.0 | Cross-platform native apps |
| Blazor Hybrid | 10.0 | UI framework for MAUI |
| Blazor Server | 10.0 | Web application hosting |
| Syncfusion Blazor | 32.2.7 | Enterprise UI components (Grid, Dropdowns, Calendars, Inputs, Notifications, Popups) |
| Toolbelt HotKeys2 | 6.2.0 | Keyboard shortcuts |
| Blazor.Bluetooth | 1.0.6 | Bluetooth printer connectivity (Web) |
| Technology | Version | Purpose |
|---|---|---|
| .NET 10 / C# 14 | 10.0 | Application framework |
| Dapper | 2.1.72 | Micro-ORM for data access |
| Microsoft.Data.SqlClient | 6.1.4 | Azure SQL Database connectivity |
| Azure.Storage.Blobs | 12.27.0 | Document & attachment storage |
| SkiaSharp | 3.119.2 | Image processing for exports |
| Technology | Version | Purpose |
|---|---|---|
| ASP.NET Core Web API | 10.0 | Push notification backend |
| Azure Notification Hubs | 4.2.0 | Cross-platform push notifications |
| Firebase Cloud Messaging | β | Android push notifications |
| MailKit / MimeKit | 4.15.1 | Email invoice & report delivery |
| Plugin.LocalNotification | 13.0.0 | In-app local notifications |
| Plugin.Maui.Audio | 4.0.0 | Notification sounds |
| Technology | Version | Purpose |
|---|---|---|
| Syncfusion PDF | 32.2.7 | PDF invoice & report generation |
| Syncfusion XlsIO | 32.2.7 | Excel export functionality |
| NumericWordsConversion | 2.1.1 | Amount-to-words on invoices |
| Technology | Purpose |
|---|---|
| SQL Server Data Tools (SSDT) | Database project management |
| GitHub Actions | CI/CD, releases, and auto-updates |
| Feature | Desktop | Mobile | Description |
|---|---|---|---|
| Bill Entry | β | β | Create dine-in billing transactions |
| Dining Dashboard | β | β | Table status overview with quick actions |
| Dining Area Management | β | β | Configure restaurant dining areas |
| Dining Table Management | β | β | Configure tables per dining area |
| Bill Reports | β | β | Transaction-level and item-wise reports |
| KOT Printing | β | β | Kitchen order ticket thermal printing |
| Bill Thermal Print | β | β | Receipt printing via Bluetooth/USB |
| Feature | Desktop | Mobile | Description |
|---|---|---|---|
| Sale Entry | β | β | Create sales transactions with POS |
| Order Entry | β | β | Process customer orders with mobile flow |
| Sale Return | β | β | Handle product returns and refunds |
| Stock Transfer | β | β | Transfer inventory between locations |
| Product Management | β | β | Product catalog with categories |
| Product Location Pricing | β | β | Location-specific product rates |
| KOT Category Management | β | β | Kitchen order ticket categories |
| Customer Management | β | β | Customer database |
| Tax Configuration | β | β | GST/Tax setup with product mapping |
| Sale Reports | β | β | Transaction and item-wise reports |
| Sale Return Reports | β | β | Return transaction and item reports |
| Order Reports | β | β | Order transaction and item reports |
| Stock Transfer Reports | β | β | Transfer transaction and item reports |
| Outlet Summary Report | β | β | Multi-outlet consolidated performance |
| Sale Thermal Print | β | β | Receipt printing via Bluetooth/USB |
| Feature | Desktop | Mobile | Description |
|---|---|---|---|
| Purchase Entry | β | β | Record raw material purchases |
| Purchase Return | β | β | Return materials to suppliers |
| Kitchen Issue | β | β | Issue raw materials to production |
| Kitchen Production | β | β | Record finished goods output |
| Kitchen Management | β | β | Configure production kitchens |
| Raw Material Management | β | β | Ingredient catalog with categories & UoM |
| Raw Material Categories | β | β | Organize raw materials by category |
| Recipe Management | β | β | Product recipes with BOM |
| Product Stock Adjustment | β | β | Manual finished goods corrections |
| Raw Material Stock Adjustment | β | β | Manual raw material corrections |
| Purchase Reports | β | β | Transaction and item-wise reports |
| Purchase Return Reports | β | β | Return transaction and item reports |
| Kitchen Issue Reports | β | β | Issue transaction and item reports |
| Kitchen Production Reports | β | β | Production transaction and item reports |
| Product Stock Report | β | β | Opening, closing, purchase, sale stock with valuation |
| Raw Material Stock Report | β | β | Comprehensive material stock with pricing |
| Feature | Desktop | Mobile | Description |
|---|---|---|---|
| Financial Accounting | β | β | Voucher entry system (payment, receipt, journal, contra) |
| Ledger Management | β | β | Chart of accounts with opening balances |
| Group Management | β | β | Account grouping by nature |
| Account Types | β | β | Account type classification |
| Company Management | β | β | Multi-company support |
| Voucher Management | β | β | Voucher type configuration |
| Financial Year | β | β | Multi-year period management |
| State/UT Configuration | β | β | State and union territory master data |
| Auto Posting | β | β | Automatic accounting from sales & bills |
| Financial Accounting Report | β | β | Voucher-wise transaction report |
| Accounting Ledger Report | β | β | Ledger-wise transaction details |
| Trial Balance | β | β | Company-wise trial balance with opening & closing |
| Profit & Loss | β | β | Income statement by nature |
| Balance Sheet | β | β | Financial position statement |
| Feature | Desktop | Mobile | Description |
|---|---|---|---|
| User Management | β | β | Role-based access control (Admin, Sales, Order, Inventory, Accounts) |
| Location Management | β | β | Multi-outlet configuration with ledger mapping |
| Settings | β | β | System-wide configuration |
| Local Settings | β | β | Device-local preferences |
| Reports Dashboard | β | β | Centralized access to all reports |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β OPERATIONS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β User β Location β Settings β
β ββ Id β ββ Id β ββ Id β
β ββ Name β ββ Name β ββ Key β
β ββ Passcode β ββ Code β ββ Value β
β ββ LocationId β ββ Discount β β
β ββ Sales β β ββ LedgerId β β
β ββ Order β β β β
β ββ Inventory ββ β β
β ββ Accounts β β β β
β ββ Admin β β β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RESTAURANT β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β DiningArea β DiningTable β Bill β BillDetail β
β ββ Id β ββ Id β ββ Id β ββ Id β
β ββ Name β ββ DiningArea β ββ Date β ββ BillId β
β β ββ Name β ββ LocationId β ββ ProductId β
β β ββ Capacity β ββ CompanyId β ββ Quantity β
β β β ββ Running β ββ Rate β
β β β ββ Total β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STORE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Product β Customer β Sale β Order β
β ββ Id β ββ Id β ββ Id β ββ Id β
β ββ Name β ββ Name β ββ Date β ββ Date β
β ββ Code β ββ Number β ββ CustomerId β ββ CustomerId β
β ββ CategoryId β β ββ LocationId β ββ LocationId β
β ββ Rate β Tax β ββ Total β ββ Total β
β ββ TaxId β ββ Id β β β
β β ββ Name β SaleReturn β StockTransfer β
β ProductLoc. β ββ Percentage β ββ Id β ββ Id β
β ββ ProductId β β ββ SaleId β ββ FromLoc β
β ββ LocationId β KOTCategory β ββ Total β ββ ToLoc β
β ββ Rate β ββ Id β β β
β β ββ Name β β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INVENTORY β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β RawMaterial β Recipe β Purchase β KitchenIssue β
β ββ Id β ββ Id β ββ Id β ββ Id β
β ββ Name β ββ ProductId β ββ Date β ββ Date β
β ββ Code β ββ Details[] β ββ PartyId β ββ KitchenId β
β ββ CategoryId β β ββ Total β ββ Details[] β
β ββ Rate β Kitchen β β β
β ββ UOM β ββ Id β PurchaseReturn β KitchenProd. β
β β ββ Name β ββ Id β ββ Id β
β RMCategory β β ββ Total β ββ KitchenId β
β ββ Id β ProductStock β β ββ Details[] β
β ββ Name β ββ ProductId β RMStock β β
β β ββ LocationId β ββ RMId β β
β β ββ Quantity β ββ Quantity β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ACCOUNTS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Ledger β Group β Voucher β FinAccounting β
β ββ Id β ββ Id β ββ Id β ββ Id β
β ββ Name β ββ Name β ββ Name β ββ VoucherId β
β ββ GroupId β ββ NatureId β ββ Type β ββ CompanyId β
β ββ OpeningBal β ββ TypeId β β ββ Date β
β β β FinancialYear β β
β Company β AccountType β ββ Id β FinAccDetail β
β ββ Id β ββ Id β ββ StartDate β ββ LedgerId β
β ββ Name β ββ Name β ββ EndDate β ββ Debit β
β β β β ββ Credit β
β Nature β StateUT β β β
β ββ Id β ββ Id β β β
β ββ Name β ββ Name β β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- .NET 10 SDK or later
- Visual Studio 2022 (17.8+) with:
- .NET MAUI workload
- ASP.NET and web development
- Data storage and processing (SQL Server Data Tools)
- Azure Account (for production deployment)
- Android SDK (for Android development)
-
Clone the repository
git clone https://github.com/aadipoddar/PrimeBakes.git cd PrimeBakes -
Configure Secrets
Update
PrimeBakes.Library/DataAccess/Secrets.cswith your connection strings:public static class Secrets { public static string AzureConnectionString = "your-azure-sql-connection"; public static string AzureBlobStorageConnectionString = "your-blob-connection"; // ... other secrets }
-
Publish Database
- Open
PrimeBakes.Database/PrimeBakes.Database.sqlproj - Right-click β Publish
- Select target database profile
- Open
-
Run the Application
Web:
cd PrimeBakes/PrimeBakes.Web dotnet runDesktop (Windows):
cd PrimeBakes/PrimeBakes dotnet build -f net10.0-windows10.0.19041.0Android:
cd PrimeBakes/PrimeBakes dotnet build -f net10.0-android
| Resource | Purpose |
|---|---|
| Azure SQL Database | Primary data storage |
| Azure Blob Storage | Document attachments |
| Azure App Service | Web application hosting |
| Azure Notification Hubs | Push notifications |
- LocalPrimeBakes.Database.publish.xml - Local development database
- AzurePrimeBakesTesting.publish.xml - Azure testing database
- AzurePrimeBakes.publish.xml - Azure production database
- Passcode-based login - User authentication
- Role-based access control - Admin, Sales, Order, Inventory, Accounts permissions
- Location-based restrictions - Users tied to specific locations
- API Key Authentication - Secure notification API endpoints
- Secure storage - Encrypted local data storage on devices
- Azure SQL with TDE (Transparent Data Encryption)
- Secure blob storage with private access
- HTTPS/TLS for all communications
| Platform | Status | Min Version |
|---|---|---|
| Windows 10/11 | β | 10.0.17763.0 |
| Android | β | API 24 (Android 7.0) |
| iOS | β | iOS 15.0 |
| macOS | β | macOS 15.0 |
| Web Browser | β | Modern browsers |
This project is proprietary software developed for Salasar Foods Guwahati.
Developed with β€οΈ by AadiSoft
Latest Version = 1.1.8.3

