2026 · Development·Full-Stack

Restaurants & Cafe POS Systems

FoodPOS is a modern, cross-platform Point of Sale (POS) and restaurant management application built with .NET 8 MAUI supporting both MySQL and SQLite. Tailored for quick-service restaurants, cafés, and food stalls, it features dual-currency support (USD $ and Khmer Riel ៛), direct ordering workflows, an integrated Kitchen Display System (KDS), promotional coupon management, staff shift tracking, comprehensive sales reporting with PDF/Excel export, and in-app database backup tools.

Restaurants & Cafe POS Systems
GitHub Repository

GitHub Repository & Source Code

Full source code, interactive seat grid, and implementation notes.

View on GitHub

✨ Key Features

  1. 🛒 POS Ordering Terminal & Register

Intuitive Touch UI: Fast category navigation (All, Food, Drink, Dessert) and real-time search in both English and Khmer.

Direct Order Workflows: Seamless order flow for Dine-In, Takeaway, and Delivery with custom delivery fees and table picker modals.

Dual Currency: Live conversion between USD ($) and Cambodian Riel (៛) with a configurable exchange rate (default: 1 USD = 4,100 KHR).

Cart Management: Quick item quantity adjustment, custom item notes/special requests, and confirmation modals for removing items.

Discounts & Promotions: Apply fixed dollar ($) discounts, percentage (%) promotions, or pre-configured promo codes. Cards display discount badges and strikethrough original prices.

Hold Orders: Pause open carts to the Held Orders Queue with customer notes and resume or void them anytime.

Offline Mode: Continue processing orders during network interruptions with a local sync queue that automatically synchronizes when connected.

  1. 🍳 Kitchen Display System (KDS)

Live Ticket Pipeline: Dynamic kitchen tickets organized by status (Pending, Preparing, Ready, Completed).

Aging & Urgency Timers: Live ticking clocks with automated urgency color coding:

🟢 Normal (< 5 mins)

🟡 Warning (5 - 10 mins)

🔴 Urgent (> 10 mins)

Interactive Plating Checklist: Tap individual ticket items to strike-through and mark as plated.

Station & Order Type Filtering: Filter tickets by station (All, Food, Drink) and service type (Sit down, Walk in, Delivery).

Quick Bumping & Recall: Bump finished orders or instantly recall recently bumped tickets.

  1. 💳 Multi-Payment & Checkout

Cash Payments: Quick cash denomination buttons ($1, $5, $10, $20, $50, $100, and KHR equivalents) with automated change calculation in both USD and KHR.

Bakong KHQR: Integrated Cambodian National Bank KHQR dynamic payment display with timer simulation and payment confirmation.

Card Payments: Visa, Mastercard, and UnionPay support.

Thermal Receipt Generation: Formatted printable and on-screen previewable receipt modal with itemized breakdown, tax/discounts, staff details, and dual-currency totals.

  1. 📊 Sales Reports & Export (PDF & Excel)

Time Horizon Presets: Analyze revenue, order volume, net sales, and average ticket size across 1 Month, 3 Months, 6 Months, and 1 Year intervals.

Export Formats: One-click export to professional PDF summary reports and Excel (.xlsx) spreadsheets.

Sales Analytics Visualizations: Custom canvas-drawn sales trend comparison charts (ComparisonTrendDrawable) and category revenue breakdowns.

  1. 🎟️ Coupon & Promotion Engine

Single & Batch Generation: Create custom discount coupons or generate batch promotional voucher codes.

Flexible Rules: Percentage discounts or fixed dollar reductions with minimum spend thresholds and redemption limits.

Tracking & Validation: Real-time coupon status toggle (Active/Inactive), redemption history logging, and expiry validation.

  1. 🍔 Menu & Inventory Management

Full CRUD operations for menu items (Add, Edit, Delete) via modal dialogs.

Dual-language naming (Khmer Name & English Name).

Category assignment, pricing, ratings, discounts, and bundled local image assets.

Quick product availability toggle (In Stock / Out of Stock).

  1. 👥 Staff Authentication & Shift Tracking

Secure login using Email & Password or a quick 4-digit PIN.

Role-based permissions (Super Admin and Cashier).

Team account administration: Super Admin can create, inspect, edit roles, and manage cashier accounts directly from the POS interface.

Shift management: Clock-in/Clock-out, starting cash drawer entry, end-of-shift cash counting, and expected vs. actual reconciliation.

Live staff metrics: Today's orders count, daily sales volume, and average ticket value (automatically reset daily at midnight).

  1. 🎨 Settings & Khmer Typography Engine

Dynamic font family switcher supporting Noto Sans Khmer, Hanuman, and Battambang.

Native Windows DirectWrite bold font mapping ensures bold Khmer typography renders crisply without falling back to system fonts.

Dynamic font scaling controls (Small, Normal, Large, Extra Large) applied globally across all UI elements.

Sound alert toggles, store profile configuration, delivery fee settings, tax rate modal, and live USD/KHR exchange rate configuration.

  1. 💾 Database Flexibility & Backup Tools

Dual Database Support: Seamlessly toggle or configure between MySQL (Laragon/XAMPP) and embedded SQLite.

In-App SQL Data Importer: Built-in SQL Import modal (PasteSqlModal) to import .sql backup files or paste raw SQL queries.

Automatic Seeding: Built-in DbSeeder populates default categories, rich Khmer dishes, and staff accounts upon first launch.

This Project was a Contribution project.

Restaurants & Cafe POS Systems | Journal