TasteHub
A restaurant management backend — one API over the menu, the orders, the reservations, and the staff who act on them.
- Role
- Software Engineer
- Status
- shipped
Problem
A restaurant runs its menu, its orders and its reservations in three systems that never reconcile. TasteHub is the backend that holds them together, with the rules about who may change what living in middleware rather than being repeated in every route.
Architecture
Read this diagram as text
- Express API guards Auth middleware
- Express API connects to Menu management
- Express API connects to Orders + reservations
- Orders + reservations connects to Payment + billing
- Orders + reservations connects to Analytics
- Menu management connects to MongoDB
- Orders + reservations connects to MongoDB
Engineering decisions
The stack, reasoning not written up yet:
Node.js · Express · MongoDB · OAuth / JWT
The hard part
The rules about who may change what were the mess. A restaurant has customers, waiting staff, kitchen and owners, and the first version checked for them inside each route — so every new endpoint was a fresh chance to forget one, and within a month the rules disagreed with each other. They moved into middleware guarding the routes as a group: a role is described once, and a new endpoint inherits the answer instead of re-deciding it.
Result
A RESTful Node and Express backend on an MVC layout: digital menu management, online ordering and reservations, order tracking for admins, billing, and role-aware middleware separating customer from staff access.
Live and source
No public deployment — this one is not hosted anywhere a visitor can open. Happy to walk through it.
