Skip to content

(04)Feb – Mar 2026

Multi-restaurant ordering: customers scan a table QR, restaurants run orders, tables and billing.

Role

Full-stack developer

Timeline

Feb – Mar 2026

Stack

React, Vite, Tailwind CSS, Java

The demo: pick a role to explore its screens
QR restaurant platform role picker

(01)Overview

A multi-restaurant ordering platform. Customers scan the QR code on their table to browse the menu and order; restaurants manage menus, tables, kitchen orders and billing; a platform admin onboards and verifies restaurants.

(02)Problem solved

Small restaurants lose time to paper order slips and waiting staff. Ordering from the table, straight to the kitchen, takes that friction out.

(03)My contribution

  • Designed the four-role product: platform admin, restaurant owner, staff and customer
  • Built the clickable frontend prototype (23 screens across desktop, tablet and mobile)
  • Built the Spring Boot backend for authentication and restaurant onboarding

(04)Features

  • 01Platform admin: verify restaurants, review onboarding, approve, reject or suspend
  • 02Restaurant owner: menu, tables and QR codes, billing, reports and theme
  • 03Staff: kitchen display board, floor view with a table map, per-table orders
  • 04Customer: scan, browse the menu, add to cart, place an order and track it
  • 05Separate JWT logins for platform admins and restaurant owners
  • 06Email OTP verification, password reset and an activity log

Screenshots

Restaurant owner dashboard (demo data)
Restaurant owner dashboard

Technology stack

ReactViteTailwind CSSJavaSpring BootSpring SecurityJWTPostgreSQL

Development challenges

Two kinds of users, two auth realms

Platform admins and restaurant owners have different permissions and different login flows, so they get separate JWT filters and security configs instead of one shared role flag.

One product, four screen sizes

Owners work on desktop, staff on tablets, customers on their phones. Each role's screens were designed for the device it is actually used on.

Next project

AI Support Agent →