Skip to content
Nilesh Karn
Development

Personal

Restaurant Management System — Orders, Kitchen and Payments

A MERN restaurant system with three roles — diner, chef and admin — where an order placed at the table reaches the kitchen screen without anyone refreshing.

The order, the kitchen and the payment are one flow rather than three. A diner pays through eSewa or Khalti, the chef sees the order arrive over a socket, and marking it ready reaches the diner the same way.

Restaurant Management System

Overview

Express and MongoDB behind a React front end built with Vite, with Socket.IO carrying order state in both directions so neither the kitchen nor the diner has to poll. Authentication is JWT with Google OAuth alongside it, and payment goes through Nepal's two common gateways — eSewa and Khalti — rather than a card processor that does not serve the market this is built for.

  • Three roles with their own dashboards: diner, chef and admin
  • Real-time order flow over Socket.IO — the kitchen sees new orders, the diner sees them marked ready
  • eSewa and Khalti payment integration
  • JWT authentication, with Google OAuth as an alternative sign-in
  • Menu, order and user management for the admin
  • Charts on the admin dashboard