Menu
Start a project

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.

Abstract drawing of a round table seen from above beside a square code pattern, standing for the digital menu opened at the table.

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

Tell us what you are building.

Write in English, French, Romanian or Arabic. Every message gets a written answer within one business day.