An open API service indexing awesome lists of open source software.

https://github.com/aadipoddar/primebakes

Salasar Foods Guwahati Prime Bakes Order, Sales, Inventory Management and Accounts
https://github.com/aadipoddar/primebakes

blazor csharp maui mssql

Last synced: about 2 months ago
JSON representation

Salasar Foods Guwahati Prime Bakes Order, Sales, Inventory Management and Accounts

Awesome Lists containing this project

README

          


Prime Bakes Logo

🧁 Prime Bakes


Enterprise-Grade Restaurant, Store, Inventory & Accounts Management System


A comprehensive business management solution for Salasar Foods Guwahati


Build
.NET
C#
Blazor
MAUI
Azure


Platforms
Syncfusion
License
Version

---

## πŸ“‹ Table of Contents

- [Overview](#-overview)
- [Key Features](#-key-features)
- [Architecture](#-architecture)
- [Project Structure](#-project-structure)
- [Technology Stack](#-technology-stack)
- [Modules](#-modules)
- [Database Schema](#-database-schema)
- [Getting Started](#-getting-started)
- [Deployment](#-deployment)
- [Security](#-security)
- [Platform Support](#-platform-support)
- [License](#-license)

---

## 🎯 Overview

**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.


App Icon

---

## ✨ Key Features

### 🍽️ **Restaurant Management**
- **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

### πŸ›’ **Store Management**
- **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

### πŸ“¦ **Inventory Management**
- **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

### πŸ’° **Financial Accounting**
- **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

### πŸ“Š **Reporting & Analytics**
- **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

### πŸ”” **Push Notifications**
- 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

### πŸ–¨οΈ **Printing**
- **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

### πŸ”„ **Auto-Updates**
- Automatic update detection
- Seamless in-app update installation
- Version management via GitHub releases

---

## πŸ— Architecture

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 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 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ PrimeBakesLibrary β”‚
β”‚ (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 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

---

## πŸ“ Project Structure

```
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)
β”‚
β”œβ”€β”€ πŸ“š PrimeBakesLibrary/ # 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)
β”‚
β”œβ”€β”€ πŸ—„οΈ DBPrimeBakes/ # 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
β”‚
└── πŸ“Š ExcelImport/ # Data Import Utility
└── Program.cs # Bulk data import tool
```

---

## πŸ›  Technology Stack

### **Frontend**
| 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) |

### **Backend**
| 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 |

### **Services & APIs**
| 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 |

### **Export & Reporting**
| 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 |

### **DevOps & Tooling**
| Technology | Purpose |
|------------|---------|
| **SQL Server Data Tools (SSDT)** | Database project management |
| **GitHub Actions** | CI/CD, releases, and auto-updates |

---

## πŸ“¦ Modules

### 🍽️ Restaurant Module

| 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 |

### πŸ›οΈ Store Module

| 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 |

### πŸ“¦ Inventory Module

| 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 |

### πŸ’Ό Accounts Module

| 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 |

### βš™οΈ Operations Module

| 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 |

---

## πŸ—ƒοΈ Database Schema

### Core Tables Structure

```
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 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 β”‚ β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
```

---

## πŸš€ Getting Started

### Prerequisites

- **.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)

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/aadipoddar/PrimeBakes.git
cd PrimeBakes
```

2. **Configure Secrets**

Update `PrimeBakesLibrary/DataAccess/Secrets.cs` with your connection strings:
```csharp
public static class Secrets
{
public static string AzureConnectionString = "your-azure-sql-connection";
public static string AzureBlobStorageConnectionString = "your-blob-connection";
// ... other secrets
}
```

3. **Publish Database**
- Open `DBPrimeBakes/DBPrimeBakes.sqlproj`
- Right-click β†’ Publish
- Select target database profile

4. **Run the Application**

**Web:**
```bash
cd PrimeBakes/PrimeBakes.Web
dotnet run
```

**Desktop (Windows):**
```bash
cd PrimeBakes/PrimeBakes
dotnet build -f net10.0-windows10.0.19041.0
```

**Android:**
```bash
cd PrimeBakes/PrimeBakes
dotnet build -f net10.0-android
```

---

## 🌐 Deployment

### Azure Resources Required

| Resource | Purpose |
|----------|---------|
| Azure SQL Database | Primary data storage |
| Azure Blob Storage | Document attachments |
| Azure App Service | Web application hosting |
| Azure Notification Hubs | Push notifications |

### Publishing Profiles

- **LocalDBPrimeBakes.publish.xml** - Local development database
- **AzurePrimeBakesTesting.publish.xml** - Azure testing database
- **AzurePrimeBakes.publish.xml** - Azure production database

---

## πŸ” Security

### Authentication
- **Passcode-based login** - User authentication
- **Role-based access control** - Admin, Sales, Order, Inventory, Accounts permissions
- **Location-based restrictions** - Users tied to specific locations

### API Security
- **API Key Authentication** - Secure notification API endpoints
- **Secure storage** - Encrypted local data storage on devices

### Data Protection
- Azure SQL with TDE (Transparent Data Encryption)
- Secure blob storage with private access
- HTTPS/TLS for all communications

---

## πŸ“± Platform Support

| 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 |

---

## πŸ“„ License

This project is proprietary software developed for **Salasar Foods Guwahati**.

---

## πŸ‘¨β€πŸ’» Development


Developed with ❀️ by AadiSoft


Prime Bakes

---

Latest Version = 1.1.3.5