The Shita 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, Shita can be adapted to your needs.
Built with ease of use and intuitiveness in mind, the Shita system supports multiple vendors and multiple service regions. With separate applications for customers, vendors and delivery agents, along with a powerful admin dashboard, Shita enables you to launch and operate your own end-to-end ordering and delivery ecosystem without building everything from scratch.
- π What is included
- π Features
- π§ Setup
- βοΈ Prerequisites
- π» Technologies
- π· Screenshots
- π High Level Architecture
- π₯ Contributors
- π» Project Setup Guide
Shita provides a complete set of software components, including:
- Shita Multi Vendor Customer App
- Shita Multi Vendor Rider/Driver App
- Shita Multi Vendor Vendor/Store App
- Customer Ordering Website
- Admin Web Dashboard
- API Server
- Analytics Dashboard using Expo Amplitude
- Error monitoring and reporting with Sentry
- 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
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)
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
| Expo | React-Navigation | Apollo GraphQL | ReactJS | NodeJS | MongoDB | Firebase |
|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| React Native | React Router | GraphQL | ExpressJS | React Strap | Amplitude |
|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Rider App |
|---|
| Store APP |
|---|
| Customer App |
|---|
| Dashboard |
|---|
This section provides detailed instructions for setting up and running each component of the Shita Multi-vendor Food Delivery Solution.
The admin dashboard allows you to manage restaurants, orders, riders, and more.
# Navigate to the admin dashboard directory
cd shita-multivendor-admin
# Install dependencies
npm install
# Start the development server
npm run devAfter 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.
The customer web application allows users to browse restaurants and place orders through a web browser.
# Navigate to the customer web directory
cd shita-multivendor-web
# Install dependencies
npm install
# Start the development server
npm startAfter running these commands, the application will be available at http://localhost:3000 in your web browser.
The customer mobile application allows users to browse restaurants and place orders on their mobile devices.
# Navigate to the customer app directory
cd shita-multivendor-app
# Install dependencies
npm install
# Start the Expo development server
npx expo start -c
# OR
npm start -c- Press
sin the terminal to switch to Expo Go mode - 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
The rider app allows delivery personnel to manage and complete deliveries.
# Navigate to the rider app directory
cd shita-multivendor-rider
# Install dependencies
npm install
# Start the Expo development server
npx expo start -c
# OR
npm start -c- Press
sin the terminal to switch to Expo Go mode - 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
The restaurant app allows restaurant owners to manage orders and their menu.
# Navigate to the restaurant app directory
cd shita-multivendor-restaurant
# Install dependencies
npm install
# Start the Expo development server
npx expo start -c
# OR
npm start -c- Press
sin the terminal to switch to Expo Go mode - 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
For all mobile apps (Customer, Rider, and Restaurant), you can create development builds using EAS Build.
# From the app directory (customer, rider, or restaurant)
eas build:configureSelect your desired platform:
- android
- ios
- all
eas build --platform android --profile developmentThis will create an APK file that you can install directly on your Android device.
eas build --platform ios --profile developmentFor 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










