Skip to content

Enatega is a fully customizable and scalable delivery management system that supports multiple business models and service verticals. It allows you to launch and manage your own ordering and logistics platform for food, groceries, home services, courier delivery, and much more, visit the Enatega product page: 🚀🛒📦🌐

License

Notifications You must be signed in to change notification settings

enatega/food-delivery-multivendor

Enatega Multi Vendor Delivery Management System

A modern and customizable platform for managing online ordering and logistics across industries.

Static Badge Stars Forks GitHub release (latest by date) GitHub contributors Open Pull Requests Activity YouTube Channel Company Website Closed Issues Closed Pull Requests

Static Badge Static Badge Static Badge Static Badge


The Enatega Multi Vendor Delivery Management System is designed for businesses looking to deploy a complete, ready-to-use platform for running their online ordering and delivery operations. Whether it is food or grocery delivery, parcel logistics, home services, flowers, pharmacy orders, or other delivery-based businesses, Enatega can be adapted to your needs. Built with ease of use and intuitiveness in mind, the Enatega system supports multiple vendors and multiple service regions. With separate applications for customers, vendors and delivery agents, along with a powerful admin dashboard, Enatega enables you to launch and operate your own end-to-end ordering and delivery ecosystem without building everything from scratch.

The solution is fully open source, but the backend and API are proprietary and can be licensed as part of a paid package.


⏩ Quick Links


❓ What is included:

Enatega provides a complete set of software components, including:

  • Enatega Multi Vendor Customer App
  • Enatega Multi Vendor Rider/Driver App
  • Enatega Multi Vendor Vendor/Store App
  • Customer Ordering Website
  • Admin Web Dashboard
  • API Server
  • Analytics Dashboard using Expo Amplitude
  • Error monitoring and reporting with Sentry

🔥 Features:

  • Authentication using Google, Apple, and Facebook
  • Dynamic home sections for highlighting top vendors and services
  • Push notifications and email alerts for account creation, order updates, and delivery progress
  • Real-time tracking of delivery agents and in-app chat
  • Email and phone number verification
  • Location-based vendor discovery on Maps and Home Screen
  • Multi-language support and customizable themes
  • Ratings and reviews for orders and service experiences
  • Vendor/service details including ratings, schedules, delivery timelines, offerings, location, minimum order or service amount, and more
  • Payment integrations including PayPal and Stripe
  • Order and booking history with the ability to favorite vendors
  • Address management with Google Places suggestions and Maps integration
  • Analytics and error reporting with Amplitude and Sentry
  • Support for item/service variations, notes, pickup and delivery modes, and customizable timing options

🔂 Setup:

As we've mentioned above, the solution includes five separate modules. To setup these modules, follow the steps below:

To run the module, you need to have nodejs installed on your machine. Once nodejs is installed, go to the directory and enter the following commands

The required credentials and keys have been set already. You can setup your own keys and credentials

The version of nodejs should be between 18 to 20 (with 16 as minor version and 0 as patch)

Guide Badge

ℹ️ Prerequisites:

App Ids for Mobile App in app.json

  • Facebook Scheme
  • Facebook App Id
  • Facebook Display Name
  • iOS Client Id Google
  • Android Id Google
  • Amplitude Api Key
  • server url

Set credentials in API in file helpers/config.js and helpers/credentials.js

  • Email User Name
  • Password For Email
  • Mongo User
  • Mongo Password
  • Mongo DB Name
  • Reset Password Link
  • Admin User name
  • Admin Password
  • User Id
  • Name

Set credentials in Admin Dashboard in file src/index.js

  • Firebase Api Key
  • Auth Domain
  • Database Url
  • Project Id
  • Storage Buck
  • Messaging Sender Id
  • App Id

NOTE: Email provider has been only been tested for gmail accounts

🛠️ Technologies:

Expo React-Navigation Apollo GraphQL ReactJS NodeJS MongoDB Firebase
Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos
React Native React Router GraphQL ExpressJS React Strap Amplitude
Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos

🖼️ Screenshots:

Rider App
Store APP
Customer App
Customer Web
Dashboard

🔧 High Level Architecture:

📖 Documentation

Find the link for the complete documentation of the Enatega Multi Vendor Solution here.

📺 Demo Videos:

Admin Dashboard Demo Mobile App Demo
Video Video

📱 Demos:

Customer App Rider App Restaurant App Customer Web Admin Dashboard
Enatega Logos Enatega Logos Enatega Logos Enatega Logos Enatega Logos
Android Logo iOS Logo Android Logo iOS Logo Android Logo iOS Logo

🧑‍🤝‍🧑 Contributors:

⚠️ Disclaimer:

The frontend source code for our solution is completely open source. However, the API and backend is proprietary and can be accessed via a paid license. For further information, contact us on the channels provided below.

📬 Contact Us:

Check out the Product Page and Pricing and more for Enatega Multivendor Food Delivery Solution

💻 Project Setup Guide

This section provides detailed instructions for setting up and running each component of the Enatega Multi-vendor Food Delivery Solution.

Enatega Admin Dashboard (Next.js)

The admin dashboard allows you to manage restaurants, orders, riders, and more.

# Navigate to the admin dashboard directory
cd enatega-multivendor-admin

# Install dependencies
npm install

# Start the development server
npm run dev

After running these commands, open your browser and navigate to http://localhost:3000 to access the admin dashboard. You can also CTRL+click on the localhost link that appears in your terminal.

Enatega Customer Web (React.js)

The customer web application allows users to browse restaurants and place orders through a web browser.

# Navigate to the customer web directory
cd enatega-multivendor-web

# Install dependencies
npm install

# Start the development server
npm start

After running these commands, the application will be available at http://localhost:3000 in your web browser.

Enatega Customer App (React Native)

The customer mobile application allows users to browse restaurants and place orders on their mobile devices.

# Navigate to the customer app directory
cd enatega-multivendor-app

# Install dependencies
npm install

# Start the Expo development server
npx expo start -c
# OR
npm start -c

Testing on a Physical Device with Expo Go

  1. Press s in the terminal to switch to Expo Go mode
  2. Scan the QR code displayed in the terminal:
    • Android: Open the Expo Go app and scan the QR code
    • iOS: Use the device's camera app to scan the QR code

Enatega Rider App (React Native)

The rider app allows delivery personnel to manage and complete deliveries.

# Navigate to the rider app directory
cd enatega-multivendor-rider

# Install dependencies
npm install

# Start the Expo development server
npx expo start -c
# OR
npm start -c

Testing on a Physical Device with Expo Go

  1. Press s in the terminal to switch to Expo Go mode
  2. Scan the QR code displayed in the terminal:
    • Android: Open the Expo Go app and scan the QR code
    • iOS: Use the device's camera app to scan the QR code

Enatega Restaurant App (React Native)

The restaurant app allows restaurant owners to manage orders and their menu.

# Navigate to the restaurant app directory
cd enatega-multivendor-restaurant

# Install dependencies
npm install

# Start the Expo development server
npx expo start -c
# OR
npm start -c

Testing on a Physical Device with Expo Go

  1. Press s in the terminal to switch to Expo Go mode
  2. Scan the QR code displayed in the terminal:
    • Android: Open the Expo Go app and scan the QR code
    • iOS: Use the device's camera app to scan the QR code

Building Development Versions

For all mobile apps (Customer, Rider, and Restaurant), you can create development builds using EAS Build.

Configure EAS Build

# From the app directory (customer, rider, or restaurant)
eas build:configure

Select your desired platform:

  • android
  • ios
  • all

Build for Android

eas build --platform android --profile development

This will create an APK file that you can install directly on your Android device.

Build for iOS

eas build --platform ios --profile development

For iOS simulator builds, modify the eas.json file to include:

"development": {
  "developmentClient": true,
  "distribution": "internal",
  "channel": "development",
  "ios": {
    "simulator": true
  },
  "android": {
    "buildType": "apk"
  }
}

Then run:

eas build --platform ios --profile development

About

Enatega is a fully customizable and scalable delivery management system that supports multiple business models and service verticals. It allows you to launch and manage your own ordering and logistics platform for food, groceries, home services, courier delivery, and much more, visit the Enatega product page: 🚀🛒📦🌐

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published