RMS — Restaurant Management System
Full-stack restaurant operations platform that runs both as a hosted web app and an offline-first desktop app from the same codebase. POS, kitchen display, recipe-driven inventory, RBAC, invoicing, and an audited order pipeline.
Problem
Small restaurants need a single tool that handles point-of-sale, kitchen workflow, and inventory — and that keeps working when the internet doesn't. Existing tools force a choice between cloud-only SaaS and clunky local installs.
Architecture
- H01
Web + desktop from one codebase
The desktop variant is ~3 files of Electron glue. The packaged app spawns a bundled mongod, starts the existing Express server in-process, and loads the prebuilt Vite SPA from disk. Same API, same UI, fully offline.
- H02
Event-driven order pipeline
Order state changes emit to an internal event bus. Inventory deduction, invoicing, and audit logging are independent subscribers. Every event persists to EventLog with status and retry count so failures can be replayed.
- H03
Recipe-based inventory with full ledger
When an order is marked ready, the recipe system deducts each ingredient and writes an InventoryLedger entry. Every gram of stock is traceable from a customer's order back to the ingredient batch.
- H04
Immutable financial snapshots
Orders snapshot tax name, percentage, amount, and menu item prices at creation time. Changing the active tax tomorrow doesn't retroactively alter yesterday's revenue.
- H05
RBAC enforced at three layers
22 named permissions checked at the route, component, and navigation layers. Cashiers see only their own orders. Self-deletion and self-demotion blocked at the service layer.
- H06
Production-grade shared infra deployment
Runs on a free-tier Oracle Ampere ARM64 VPS alongside an unrelated project. Fully additive — automatic TLS via Caddy, shared MongoDB replica set with per-project users.
Key features
- 01Point of Sale with infinite-scroll menu, dine-in / takeaway / delivery flows, live tax calculation
- 02Kitchen Dashboard with color-coded order cards and one-click status advancement
- 03Order Management with 5 statuses, enforced transitions, refunds, voids, cancellations
- 04Menu & Recipes with modifiers and cost-price tracking for margin reports
- 05Inventory with units, low-stock alerts, waste tracking, full audit ledger
- 06Tax configurations (GST / VAT / Sales Tax) snapshotted onto every order
- 07Invoicing with auto-generated numbers, immutable order snapshots, reprint support
- 08Dashboard with MongoDB aggregation pipelines (not in-memory)
- 09Staff management with role assignment, email verification, self-action guards
Stack
Frontend
Backend
Database
Desktop
Infra
Status
Live web + desktop builds for Linux and Windows
04 — Start a project
An idea, an existing app, or something in between?
Tell us what you're trying to ship. We reply within one business day with a written take on scope and timeline — not a sales pitch.