Home
Softono
restaurant-pos

restaurant-pos

Open source TypeScript
15
Stars
1
Forks
0
Issues
2
Watchers
2 weeks
Last Commit

About restaurant-pos

# 🍽️ Open Source Restaurant POS System (React + SurrealDB) ### ⚑ Fast β€’ Multi-Branch β€’ Touch Optimized β€’ Full Restaurant Operations Platform A complete **restaurant management ecosystem** built for real-world cafΓ©s, restaurants, and food chains. Designed to handle everything from **ordering β†’ kitchen β†’ delivery β†’ staff β†’ reporting β†’ inventory** in one unified system. --- ## πŸš€ Live Demo πŸ‘‰ **Try it here:** [Demo](https://ahmedali5530.xyz/posr.html) πŸ”‘ Login: `1234, 0000, 5555` --- ## πŸ’₯ Why This Project? Most restaurant systems are: - ❌ Fragmented (POS, delivery, HR all separate) - ❌ Not built for real-time restaurant pressure - ❌ Weak staff workflow management - ❌ Hard to scale across branches - ❌ No proper authentication or protected modules This system solves that by combining everything into one platform: - ⚑ Real-time restaurant operations - 🍽️ Full kitchen + order lifecycle - πŸ” Advanced dish & modifiers management - 🚚 Built-in delivery workflow - πŸ‘¨β€πŸ’Ό Staff + manager + admin roles ...

Platforms

Web Self-hosted

Languages

TypeScript

🍽️ Open Source Restaurant POS System (React + SurrealDB)

⚑ Fast β€’ Multi-Branch β€’ Touch Optimized β€’ Full Restaurant Operations Platform

A complete restaurant management ecosystem built for real-world cafΓ©s, restaurants, and food chains.

Designed to handle everything from ordering β†’ kitchen β†’ delivery β†’ staff β†’ reporting β†’ inventory in one unified system.


πŸš€ Live Demo

πŸ‘‰ Try it here: Demo
πŸ”‘ Login: 1234, 0000, 5555


πŸ’₯ Why This Project?

Most restaurant systems are:

  • ❌ Fragmented (POS, delivery, HR all separate)
  • ❌ Not built for real-time restaurant pressure
  • ❌ Weak staff workflow management
  • ❌ Hard to scale across branches
  • ❌ No proper authentication or protected modules

This system solves that by combining everything into one platform:

  • ⚑ Real-time restaurant operations
  • 🍽️ Full kitchen + order lifecycle
  • πŸ” Advanced dish & modifiers management
  • 🚚 Built-in delivery workflow
  • πŸ‘¨β€πŸ’Ό Staff + manager + admin roles
  • πŸ” Secure protected modules
  • πŸ“Š Full reporting & analytics layer
  • πŸͺ Multi-branch scalable system
  • πŸͺ‘ Seat-based ordering & splitting
  • πŸ“‘ Multi-order table management
  • ☁️ Realtime Sync to cloud
  • πŸ’Ύ Automatic backups
  • πŸ’° Automatic check closing + closing cycles
  • πŸ“‹ Multiple menus support
  • πŸ’³ Third-party payment gateways support (Stripe, PayPal, M-Pesa, etc.)
  • πŸ–¨οΈ ESC/POS Printing Support (USB, Network, Serial, Bluetooth)

✨ Core Modules

🍽️ POS & Order Management

  • Table-based ordering system
  • Seat-Based Ordering & Splits:
    • Seat Assignments: Assign specific dishes to individual seats for organized service.
    • Split by Seat: Easily split a large table's bill into separate orders based on seat assignments.
  • Multi-Order Table Management:
    • Concurrent Orders: Support for multiple independent orders on the same table simultaneously.
    • Visual Indicators: Clear tracking of the number of active orders per table on the floor layout.
  • Fast item selection & modifiers
  • Split / merge / cancel / transfer orders / refunds
  • Split & Half-n-Half Payments: Flexible payment options allowing customers to split bills or pay for half-n-half dish combinations.
  • Extras & Service Charges:
    • Automated Service Charges: Apply percentage-based or fixed service charges to orders.
    • Custom Extras: Add additional charges for special requests, packaging, or premium services.
    • Rule-based Application: Automatically trigger extras based on order type, payment method, or specific tables.
  • Real-time cart updates
  • Instant billing flow

πŸ” Dish Creation & Advanced Modifiers

  • Flexible Dish Management: Create and organize dishes with custom pricing, tax rules, and multi-category assignments.
  • Excellent Modifiers Support:
    • Modifier Groups: Group related options (e.g., "Sides", "Toppings", "Meat Temperature").
    • Nested Modifiers: Support for complex ordering flows where choosing a modifier opens another set of choices (e.g., Select "Combo" β†’ Select "Side" β†’ Select "Drink").
    • Price Overrides: Set specific prices for modifiers when they are part of a particular group or combination.
    • Rules & Constraints: Define minimum and maximum selections per group.
  • Visual Menu Builder: Intuitive interface for designing the customer-facing menu.

πŸ‘¨β€πŸ³ Kitchen Display System (KDS)

  • Live incoming orders
  • Status tracking:
    • Received
    • Preparing
    • Ready
    • Served
  • Reduced communication delays between staff & kitchen
  • Recall orders

🚚 Delivery Management App

  • Custom built delivery apps with multiple menu support
  • Realtime updates to customer
  • Delivery order assignment
  • Driver status tracking
  • Order dispatch flow
  • Delivery completion updates
  • Separate delivery workflow from dine-in
  • Smart Coupons & Discounts:
    • Flexible Discount Types: Support for fixed amount, percentage-based, and free shipping coupons.
    • Usage Constraints: Set minimum order amounts, maximum discount caps, and usage limits per user.
    • Time-Based Validity: Schedule coupons for specific dates, times, or days of the week.
    • Targeted Rules: First-order only coupons and stackability controls.
  • Uses Google maps to display orders and updates

πŸ“± Order Taking App (Waiter App)

  • Mobile-first order entry
  • Table selection & quick ordering
  • Instant sync with kitchen
  • Lightweight POS mode for staff devices
  • Full touch compatible modules for faster order processing

πŸ‘¨β€πŸ’Ό Manager App (Admin Control Center)

  • Real-time business dashboard
  • Sales & performance analytics
  • Staff performance tracking
  • Branch-level reporting
  • System configuration

πŸ’° Automatic Checks & Closing Cycles

  • Automatic Check Closing: Configure system to automatically close open checks after a specific idle time or at end-of-day.
  • Closing Cycle Enforcement: Prevent new orders when a closing cycle is required.
  • Shift & Day Closing: Streamlined workflow for ending staff shifts and daily business cycles.
  • Real-time enforcement: Instant notifications when cycles need to be closed.

πŸ“‹ Multiple Menus Support

  • Custom Menu Creation: Create different menus for different times (e.g., Breakfast, Lunch, Dinner).
  • Dynamic Pricing: Set different prices for items across different menus.
  • Delivery App Integration: Link specific menus to delivery app.

πŸ’³ Third-Party Payment Gateways

  • Integrated Payments: Support for popular payment gateways.
  • Multi-Provider Support:
    • πŸ’³ Stripe (Credit/Debit Cards)
    • πŸ…ΏοΈ PayPal
    • πŸ“± JazzCash / M-Pesa (Mobile Payments)
  • Secure Processing: PCI-compliant flows with sandbox/live mode support.
  • Instant Settlement: Real-time payment verification and order status updates.

πŸ–¨οΈ ESC/POS Printing Support

  • Multi-Interface Support: Print to thermal printers via USB, Serial, Network (TCP/IP), or Bluetooth.
  • Specialized Print Builders:
    • 🍳 Kitchen Tickets: Clear, priority-coded slips for kitchen staff.
    • 🧾 Customer Receipts: Professional final bills with payment details and change.
    • 🚚 Delivery Slips: Includes customer address, phone, and delivery notes.
    • πŸ“‘ Pre-sale Bills: Temporary slips for table service before final payment.
    • πŸ“Š Sales Summaries: Comprehensive end-of-day/shift, P-Mix, Server Sales reports directly from the printer.
  • Branding & Customization:
    • Support for custom logos (Base64) and company branding.
    • Configurable VAT/Tax details and headers/footers.
    • Adjustable margins and item display preferences.
  • Reliable Architecture: Independent Node.js print server ensures printing doesn't block the main POS application.

πŸ§‘β€πŸ’Ό Staff Management & Shifts

  • Shift creation & scheduling
  • Clock-in / clock-out tracking
  • Work hour monitoring
  • Staff assignment per branch

πŸ” Protected Modules & Role System

  • Role-based access control:
    • Admin
    • Manager
    • Waiter
    • Kitchen Staff
    • Delivery Staff
    • ... and Custom roles
  • Protected routes & permissions per module accross web and mobile platforms
  • Secure operational separation

πŸ’° Tips Distribution System

  • Track collected tips
  • Automatic tip pooling
  • Staff-based distribution rules
  • Shift-based tip allocation

⏱️ Time Tracking System

  • Employee working hours tracking
  • Shift duration monitoring
  • Late/early detection
  • Attendance history logs

πŸ“¦ Inventory Integration

  • Stock-Aware Menu System: Real-time visibility of ingredient availability.
  • Recipe-Based Deduction: Automatically deduct stock based on dish recipes when orders are placed.
  • Comprehensive Stock Management:
    • Purchase Orders & Returns: Manage supplier orders and incoming inventory.
    • Internal Issues & Returns: Track stock movement between stores or kitchen departments.
    • Waste Tracking: Log and analyze food waste to optimize costs.
  • Multi-Store Support: Manage inventory across different storage locations or branches.
  • Low Stock Alerts: Automated notifications when items fall below safety levels.
  • Supplier Management: Maintain a database of suppliers and their performance.

⚑ Speed-Focused UX

Built for real restaurant pressure situations:

  • Minimal clicks ordering
  • Touch-screen-friendly workflow
  • Quick table switching
  • Optimized for peak-hour usage

πŸ—οΈ Tech Stack

  • βš›οΈ React.js (Frontend)
  • πŸ—„οΈ SurrealDB
  • 🌐 Websockets Architecture
  • πŸ—„οΈ Realtime Database-driven inventory & orders

πŸ“Έ Screenshots

floor_layout.png menu.png kds_panel.png payment.png delivery.png


πŸ”₯ Key Highlights

  • Built specifically for restaurant workflows
  • Handles real-time order lifecycle
  • Designed for high-pressure environments
  • Supports multi-table restaurant operations
  • Scalable for small cafΓ©s β†’ multi-branch restaurants
  • Delivery apps
  • Order taking apps
  • Manager apps for authentication and reporting

⚑ Quick Start with Docker

git clone https://github.com/ahmedali5530/restaurant-pos
cd restaurant-pos
bun install
docker compose up -d

🧭 Roadmap

  • Offline mode support
  • Advanced analytics dashboard
  • AI-based reporting and demand forecasting
  • Multi-branch synchronization improvements
  • Payroll system integration
  • Account module integration
  • OR Code and Self ordering system
  • Tap-to-pay payments on mobile apps
  • Targeted sales system for performance
  • Multi-currency support
  • Advanced inventory analytics
  • Loyalty module

🀝 Contributing

Want to improve this system?

Fork the repo 🍴 Create a feature branch 🌿 Submit a PR πŸš€


⭐ Support

If this project helps you, please consider giving it a ⭐ on GitHub.

It helps increase visibility and motivates continued development.