MenuCloud — Microservices Restaurant Menu Platform
A microservices SaaS for restaurant digital menus: an admin uploads a new menu image and every display screen in that restaurant updates instantly, with no refresh and no staff involvement.
Case study
How this was built, in the order I'd walk someone through it.
- 01
Problem
A restaurant that changes its menu has to change every screen showing it. Anything requiring staff to touch the display device — refresh a page, restart an app, reconnect a stick — will not survive contact with a busy restaurant.
- 02
Users
Platform admin — manages restaurants, uploads menusRestaurant — signs up, gets a Customer ID, views their portalDiner — sees the menu on an in-store screen, no login - 03
Architecture
Five services behind an API gateway: authentication, menu, restaurant, and a realtime service, with a separate frontend. The whole system is composed with Docker.
- 04
My responsibility
Designed and built the services, the gateway and the frontend.
- 05
One important feature
An unauthenticated display endpoint
Each restaurant gets a unique customer ID and a display URL. A TV in the shop is pointed at that URL once and never touched again — no login on the display device, because a screen that can log out is a screen that will eventually be showing a login page instead of a menu.
- 06
How it works internally
The realtime service is what makes the update instant: when an admin uploads a new menu image for a restaurant, connected display clients for that customer ID are pushed the change rather than polling for it. The gateway fronts the services so the frontend and displays talk to one origin.


