What's built so far
A review page for the owner and team. Everything here is real code running against a real (in-process) Postgres database with the sample menu.
Built
- ✓Menu and customizers. Browse by category, customize pizza, burgers, wings and more.
- ✓Pricing engine. Live price and plain-language summary, checked again on the server.
- ✓Sold out and dayparts. Items and single choices, breakfast versus lunch.
- ✓Order lifecycle. Including Order complete and Picked up.
- ✓Database. 18 tables, store settings, frozen order snapshots.
- ✓Sign up and sign in by email. Emailed code, Argon2 password, sessions, roles enforced server-side.
- Checkout and card payment
- Kitchen tablet and its loud alert
- Owner admin (menu, prices, hours, tax)
The store
Placeholder data [CONFIRM]
| Name | Palmer Market |
|---|---|
| Address | 2156 Main St, Palmer, TN 37365 |
| Sales tax | 0.00% (sample) |
| Menu | 7 categories · 9 items · 28 option groups |
| Hours | Sunday: 4 AM to 10 PM, every day |
| Time zone | America/Chicago |
Order lifecycle
Click through an order the way the kitchen would. Green buttons are allowed now; grey ones show the rules saying no.
Green buttons are the moves the kitchen can make right now. Try a grey one to see the guard say no.
Sold out
Not signed in. Sign up or sign in — the toggle below is blocked until then (also requireRole()).
Mark something sold out (for example, Jalapeños on the pizza), then open the menu. It is greyed out and can't be ordered.
Server checks the price
The cart below is a $19.00 pizza. Claim a different total and the server refuses it.
Order numbers
Short and friendly, restarting each day. Each one is handed out safely even when orders arrive at the same moment.