Skip to content

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

 
 
 

Contributors