Skip to content
 
 

Repository files navigation

EasyEats Server

Node.js Logo Docker Logo Kubernetes Logo Kafka Logo

A microservices-based backend for a food delivery platform, built with Node.js and Express.js.

NPM Version Build Status

Description

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

Features

  • 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.

Tech Stack

  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Intercommunication: Apache Kafka
  • Containerization: Docker
  • Orchestration: Kubernetes
  • Real-time Communication: WebSockets
  • Mapping: Mapbox
  • Payment Gateway: PayPal (sandbox)

Prerequisites

  • Node.js (v16+ recommended)
  • Docker and Kubernetes
  • MongoDB

Installation

# 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 install

Running the Project

open Docker Desktop app and make suer it running in the background and go to the root directory:

docker compose build
docker compose up

Open the Each Service Directory and run this following command to start the service

Development Mode

npm start

License

This project is licensed under the MIT License.

About

backend configuration for the EasyEats app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages