Thanks to visit codestin.com
Credit goes to github.com

Skip to content

iServe is a complete backend solution for a modern QR-code-based restaurant ordering system. It allows customers to scan a QR code on their table, browse the digital menu, place orders directly from their mobile phones, and make online payments through Razorpay. The system routes orders to the kitchen and allows restaurant staff to serve efficientl

Notifications You must be signed in to change notification settings

Arbaz001/iServe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ iServe - Restaurant Backend Ordering System

iServe is a complete backend solution for a modern QR-code-based restaurant ordering system. It allows customers to scan a QR code on their table, browse the digital menu, place orders directly from their mobile phones, and make online payments through Razorpay. The system routes orders to the kitchen and allows restaurant staff to serve efficiently.


πŸš€ Features

  • QR code–based ordering flow
  • Digital menu accessible via mobile
  • Order management APIs
  • Table-wise tracking
  • Razorpay payment gateway integration (keys to be added)
  • Modular, scalable backend structure
  • Built with Node.js, Express, and MongoDB

πŸ› οΈ Tech Stack

  • Node.js – Runtime environment
  • Express.js – Web framework
  • MongoDB – NoSQL database
  • Mongoose – MongoDB ODM
  • Razorpay – Payment gateway integration
  • dotenv – For environment configuration
  • CORS, body-parser, etc. – Middleware

πŸ“ Project Structure

iServe/
β”‚
β”œβ”€β”€ controllers/       # Business logic
β”œβ”€β”€ models/            # Mongoose schemas
β”œβ”€β”€ routes/            # Express route definitions
β”œβ”€β”€ config/            # DB connection, Razorpay config
β”œβ”€β”€ .env               # Environment variables (not committed)
β”œβ”€β”€ app.js             # Entry point
β”œβ”€β”€ server.js          # Server
└── README.md          # Project documentation

πŸ”§ Setup Instructions

  1. Clone the repository:

    git clone https://github.com/Arbaz001/iServe.git
    cd iServe
  2. Install dependencies:

    npm install
  3. Create a .env file in the root folder and add the following:

    PORT=5000
    MONGODB_URI=your_mongodb_connection_string
    RAZORPAY_KEY_ID=your_razorpay_key
    RAZORPAY_KEY_SECRET=your_razorpay_secret
    

    ⚠️ Razorpay keys are not yet addedβ€”add them once available.

  4. Start the development server:

    npm run dev

πŸ§ͺ API Endpoints Overview

πŸ“‹ Menu Routes (/api/menu)

Method Endpoint Description
GET / Fetch all menu items
GET /:category Get menu items by category
POST / Add a new menu item (Admin only)

🧾 Order Routes (/api/order)

Method Endpoint Description
POST / Create a new order
GET /:id Get order by ID
PATCH /:id/status Update order status
GET /kitchen/orders Get all kitchen orders

πŸ’³ Payment Routes (/api/payment)

Method Endpoint Description
POST /:orderId/create Create Razorpay order for payment
POST /verify Verify payment signature

βœ… To-Do

  • Add Razorpay key and secret in .env
  • Swagger/Postman API documentation
  • Admin & Kitchen panel UI integration
  • Real-time updates with Socket.io (optional)

πŸ‘¨β€πŸ’» Author

Made with ❀️ by Arbaz Ali


πŸ“„ License

ISC License

About

iServe is a complete backend solution for a modern QR-code-based restaurant ordering system. It allows customers to scan a QR code on their table, browse the digital menu, place orders directly from their mobile phones, and make online payments through Razorpay. The system routes orders to the kitchen and allows restaurant staff to serve efficientl

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published