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.
- 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
- 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
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
-
Clone the repository:
git clone https://github.com/Arbaz001/iServe.git cd iServe -
Install dependencies:
npm install
-
Create a
.envfile 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. -
Start the development server:
npm run dev
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Fetch all menu items |
| GET | /:category |
Get menu items by category |
| POST | / |
Add a new menu item (Admin only) |
| 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 |
| Method | Endpoint | Description |
|---|---|---|
| POST | /:orderId/create |
Create Razorpay order for payment |
| POST | /verify |
Verify payment signature |
- Add Razorpay key and secret in
.env - Swagger/Postman API documentation
- Admin & Kitchen panel UI integration
- Real-time updates with Socket.io (optional)
Made with β€οΈ by Arbaz Ali
ISC License