nomnom
Restaurant ordering for diners and a live kitchen display for staff.

The problem
In a busy restaurant, orders arrive on paper, the kitchen cooks in the order tickets land rather than the order that gets food out fastest, and the bill is added up by hand at the end.
How it works
Diners scan a table's QR code and order from a Flutter app. The cart enforces real rules: you can add to a placed order, but items already placed can't be removed. The bill shows 18% GST, and every order earns loyalty points.
On the kitchen display, each order's items are sorted by preparation and cooking time so the longest dishes start first. Staff move items from pending to preparing to ready, finished orders clear themselves, and a sales dashboard keeps the history. A Next.js API sits on a Turso database shared by both sides.
Highlights
- QR table ordering with live order status
- Cooking queue prioritised by prep and cook time
- Billing with GST and loyalty points
- One Turso (SQLite) database behind the app and the kitchen
Screens



