A microservices-based backend for a food delivery platform, built with Node.js and Express.js.
EasyEats Server is a robust, scalable backend solution for modern food delivery platforms, built with microservices architecture using Node.js and Express.js. The platform seamlessly connects customers, restaurants, and delivery personnel through a high-performance system designed for reliability and real-time operations.
Key aspects:
- 🚀 Microservices-based architecture for independent scalings
- 🔒 Secure authentication with JWT and role-based access control
- 📱 Supports web and mobile interfaces
- 📊 Real-time order tracking and notifications
- 💳 Multiple payment gateway integrations
- Web/Mobile Interface: User-friendly interface for browsing restaurants, managing carts, and placing orders.
- Restaurant Management: Menu management, order availability, and incoming order handling.
- Order Management: Order placement, modification, and real-time tracking.
- Delivery Management: Automated driver assignment and real-time delivery tracking using Mapbox.
- Payment Integration: Secure payment gateways (PayPal, PayHere, Dialog Genie, FriMi).
- Notifications: SMS and email notifications using Nodemailer and Notify.js.
- Authentication: Role-based access control with JWT.
- Backend: Node.js, Express.js
- Database: MongoDB
- Intercommunication: Apache Kafka
- Containerization: Docker
- Orchestration: Kubernetes
- Real-time Communication: WebSockets
- Mapping: Mapbox
- Payment Gateway: PayPal (sandbox)
- Node.js (v16+ recommended)
- Docker and Kubernetes
- MongoDB
# Clone the repository
git clone https://github.com/EasyEats-DS/EasyEats-backend.git
# Navigate into the project folders and Install dependencies
cd EasyEats-backend
cd api-gateway
npm install
cd order-service
npm install
cd user-service
npm installdocker compose build
docker compose upnpm startThis project is licensed under the MIT License.