Product
Restaurant platform: point of sale and QR menu
Restaurant management, a point of sale for the counter, and a digital menu a guest opens by scanning a code at the table. One catalogue serves all three.
Status: In active development.
The problem
A restaurant group runs several systems that disagree with each other: a till, a printed menu that is out of date the week it arrives, and a spreadsheet of members and balances. Changing a price means changing it in three places, and one of them is a printer.
How it works
One catalogue of products and categories feeds the point of sale, the digital menu and the order flow. A guest opens the menu by scanning a QR code at the table, so the menu is current by construction. Orders are identified by a UUID, which keeps them stable across devices and retries.
Membership management, customer records and wallets sit alongside, with transactions recorded against them. The platform supports several stores, each with its own configuration and its own currency, and multi-currency wallets across them.
Handling money carefully
Currency rates are stored at a precision suitable for financial calculation rather than at display precision, because rounding at the wrong moment is how a wallet balance stops reconciling. Multi-currency support is described here generically; the currencies configured are a matter for each deployment.
Architecture
One catalogue, three surfaces
Point of sale, QR menu and order flow read the same products and categories, so a price changes once.
Orders keyed by UUID
An order identifier generated once and carried everywhere survives a retry, a device swap and a reconciliation.
Per-store configuration
Stores differ in menu, pricing and currency without a code change, which is what makes multi-store manageable.
Technologies
PHP Laravel MySQL Redis React Next.js Docker
Services this uses
SaaS and custom software
Multi-tenant business platforms with per-organisation data isolation, roles and an API shared by every client.
Web applications
React and Next.js front ends against Laravel and Node APIs, including admin panels and RTL interfaces.
Start a project
Write in English, French, Romanian or Arabic. Every message gets a written answer within one business day.
Tell us what you are building.
Write in English, French, Romanian or Arabic. Every message gets a written answer within one business day.