221 lines
14 KiB
Markdown
221 lines
14 KiB
Markdown
<div align="right">
|
||
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution" style="text-decoration:none">
|
||
<img src="https://img.shields.io/badge/-0d1117?logo=facebook" width="40" height="30">
|
||
</a>
|
||
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution" style="text-decoration:none">
|
||
<img src="https://img.shields.io/badge/-0d1117?logo=linkedin" width="40" height="30">
|
||
</a>
|
||
<a target="_blank" href="https://twitter.com/intent/tweet?&url=https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution&via=TWITTER-HANDLE" style="text-decoration:none">
|
||
<img src="https://img.shields.io/badge/-0d1117?logo=twitter" width="40" height="30">
|
||
</a>
|
||
</div>
|
||
|
||
<div align="center">
|
||
<h2>Enatega Single-vendor</h2>
|
||
<i>Enatega is an open-source delivery management platform for the future.</i>
|
||
<br/>
|
||
<br />
|
||
</div>
|
||
|
||
|
||
<div align="center">
|
||
|
||
[![Static Badge](https://img.shields.io/badge/License-MIT-red)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/blob/main/LICENSE)
|
||
[![Stars](https://img.shields.io/github/stars/Ninjas-Code-official/Enatega-Food-Delivery-Solution.svg)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/stargazers)
|
||
[![Forks](https://img.shields.io/github/forks/Ninjas-Code-official/Enatega-Food-Delivery-Solution.svg)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/forks)
|
||
[![GitHub contributors](https://img.shields.io/github/contributors/Ninjas-Code-official/Enatega-Food-Delivery-Solution)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/graphs/contributors)
|
||
[![Open Pull Requests](https://img.shields.io/github/issues-pr-raw/Ninjas-Code-official/Enatega-Food-Delivery-Solution.svg)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/pulls)
|
||
[![Activity](https://img.shields.io/github/last-commit/Ninjas-Code-official/Enatega-Food-Delivery-Solution.svg)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/commits/main)
|
||
[![YouTube Channel](https://img.shields.io/badge/Watch_us-Youtube-red)](https://www.youtube.com/@ninjascode509)
|
||
[![Company Website](https://img.shields.io/badge/Visit_us-Website-blue)](https://enatega.com)
|
||
[![Closed Issues](https://img.shields.io/github/issues-closed/Ninjas-Code-official/Enatega-Food-Delivery-Solution?color=success)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/issues?q=is%3Aissue+is%3Aclosed)
|
||
[![Closed Pull Requests](https://img.shields.io/badge/Closed%20Pull%20Requests-View%20on%20GitHub-blue.svg)](https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/pulls?q=is%3Apr+is%3Aclosed)
|
||
</div>
|
||
|
||
<div align="center">
|
||
|
||
[![Static Badge](https://img.shields.io/badge/facebook-blue?logo=facebook&logoColor=Blue&color=%23fbfbfb)](https://www.facebook.com/enatega)
|
||
[![Static Badge](https://img.shields.io/badge/Instagram-blue?logo=instagram&logoColor=D815BE&color=%23fcfcfc)](https://www.instagram.com/enatega.nb/)
|
||
[![Static Badge](https://img.shields.io/badge/Twitter-blue?logo=Twitter&logoColor=blue&color=%23fcfcfc)](https://twitter.com/EnategaA)
|
||
[![Static Badge](https://img.shields.io/badge/LinkedIn-blue?logo=LinkedIn&logoColor=darkblue&color=%23fcfcfc)](https://www.linkedin.com/company/14583783/)
|
||
|
||
</div>
|
||
|
||
# Enatega Single Vendor Solution
|
||
<div align="center">
|
||
|
||
<a href="https://www.youtube.com/watch?v=8sE7ivnFyo0&feature=youtu.be&ab_channel=NinjasCode">
|
||
<img src="./contributingGuides/thumbnail.png" alt="Demo video" style="border-radius: 6px; width: auto;">
|
||
</a>
|
||
|
||
</div>
|
||
|
||
<br/>
|
||
Enatega is a state of the art white label storefront delivery solution that allows business owners to easily manage their deliveries. Whether they have a restaurant, grocery store, pharmacy, winery or any similar storefront, Enatega will intuitively and instantly be able to automate their deliveries, and handle the logistics. Our solution provides the capability of order management, as well as separate applications for the rider and the customer. It also boasts a suit of features which allow for a greater range of customizability for customers in terms of item selection.
|
||
|
||
<b>This is the full free source code of our solution, however the backend and API is proprietary and can be obtained via paid license.</b>
|
||
|
||
<!-- Add a horizontal rule for separation -->
|
||
<hr/>
|
||
|
||
## :fast_forward: Quick Links
|
||
|
||
- [:book: What is included](#heading-1)
|
||
- [:rocket: Features](#heading-2)
|
||
- [:wrench: Setup](#heading-3)
|
||
- [:gear: Prerequisites](#heading-4)
|
||
- [:computer: Technologies](#heading-5)
|
||
- [:camera: Screenshots](#heading-6)
|
||
- [:triangular_ruler: High Level Architecture](#heading-7)
|
||
- [:page_with_curl: Documentation](#heading-8)
|
||
- [:movie_camera: Demo Videos](#heading-14)
|
||
- [:video_game: Demos](#heading-9)
|
||
- [:busts_in_silhouette: Contributors](#heading-14)
|
||
- [:warning: Disclaimer](#heading-12)
|
||
- [:email: Contact Us](#heading-13)
|
||
|
||
<!-- Add a horizontal rule for separation -->
|
||
<hr/>
|
||
|
||
## :question: What is included: <a id="heading-1"></a>
|
||
|
||
Our solution contains three separate modules. These include the admin panel, the delivery app and the rider app. Below, the capabilities of all three modules have been listed:
|
||
|
||
- The admin panel receives the orders that can be placed via the customer app. It also allows managing the restaurant’s orders as well as the riders’ accounts.(Run on node version 14)
|
||
|
||
- The customer app allows for customers to choose their specific selections and customize their order before placing it.
|
||
|
||
- The rider app can accept the orders and also allows for location based zoning as well as the ability to locate customer’s address via google map’s API integration.
|
||
|
||
|
||
## :fire: Features: <a id="heading-2"></a>
|
||
|
||
- Analytics dashboard for the mobile app
|
||
- Payment integration with Paypal and Stripe
|
||
- Order tracking feature
|
||
- Email Integration e.g for order confirmation etc.
|
||
- Ability to provide ratings and reviews
|
||
- Finding address using GPS integration
|
||
- Facebook and Google authentication integration
|
||
- Mobile responsive dashboard
|
||
- Multi-Language support using localization
|
||
- Separate rider app for order management
|
||
- Multiple variations of food items
|
||
- Push notifications for both mobile and web
|
||
|
||
## :repeat_one: Setup: <a id="heading-3"></a>
|
||
|
||
As we’ve mentioned above, the solution includes three separate modules. To setup these modules, follow the steps below:
|
||
|
||
To run the module, you need to have nodejs installed on your machine(Install node version 14). 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 14.0 to 16.0
|
||
|
||
-[Link to Video tutorial/demonstration of Setup](https://enatega.com/singlevendor-documentation/)
|
||
|
||
## :framed_picture: Screenshots: <a id="heading-6"></a>
|
||
|
||
| Customer Menu | Customer Categories | Customer Items |
|
||
| :--------------------------------------------------: | :--------------------------------------------------: | :--------------------------------------------------: |
|
||
| ![](./contributingGuides/screenshots/customer1.jpeg) | ![](./contributingGuides/screenshots/customer2.jpeg) | ![](./contributingGuides/screenshots/customer3.jpeg) |
|
||
|
||
| Rider Menu | Rider Orders | Rider Items Details |
|
||
| :-----------------------------------------------: | :-----------------------------------------------: | :-----------------------------------------------: |
|
||
| ![](./contributingGuides/screenshots/rider1.jpeg) | ![](./contributingGuides/screenshots/rider2.jpeg) | ![](./contributingGuides/screenshots/rider3.jpeg) |
|
||
|
||
| Stats Overview | User Table | Food Items Editing |
|
||
| :-----------------------------------------------: | :-----------------------------------------------: | :-----------------------------------------------: |
|
||
| ![](./contributingGuides/screenshots/admin1.jpeg) | ![](./contributingGuides/screenshots/admin2.jpeg) | ![](./contributingGuides/screenshots/admin3.jpeg) |
|
||
|
||
## :wrench: High Level Architecture: <a id="heading-7"></a>
|
||
|
||
![High Level Architecture](./contributingGuides/screenshots/HighArchitectDiagram.png)
|
||
|
||
- User Mobile App communicates with both API Server and [Amplitudes](https://amplitude.com/) analytics dashboard
|
||
- Web dashboard communicates with only API Server
|
||
- Rider App communicates with API Server
|
||
|
||
## :information_source: Prerequisites: <a id="heading-4"></a>
|
||
|
||
##### 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
|
||
|
||
## :hammer_and_wrench: Technologies: <a id="heading-5"></a>
|
||
| Expo | React-Navigation | Apollo GraphQL | ReactJS | NodeJS | MongoDB | Firebase |
|
||
|:-------:|:------------:|:--------------:|:-------:|:------:|:-------:|:--------:|
|
||
| <a href="https://expo.dev/"><img src="https://enatega.com/wp-content/uploads/2023/09/expoicon.png" alt="Enatega Logos" width="100"></a>| <a href="https://reactnavigation.org/"><img src="https://enatega.com/wp-content/uploads/2023/09/react-navigation.png" alt="Enatega Logos" width="100"></a>| <a href="https://www.apollographql.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/apollo.png" alt="Enatega Logos" width="100"></a>| <a href="https://reactjs.org/"><img src="https://enatega.com/wp-content/uploads/2023/09/react-native.png" alt="Enatega Logos" width="100"></a> | <a href="https://nodejs.org/en/"><img src="https://enatega.com/wp-content/uploads/2023/09/node.png" alt="Enatega Logos" width="100"></a> | <a href="https://www.mongodb.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/mongoDB.png" alt="Enatega Logos" width="100"></a> | <a href="https://firebase.google.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/firebase.png" alt="Enatega Logos" width="100"></a> |
|
||
|
||
|React Native | React Router | GraphQL | ExpressJS | React Strap | Amplitude |
|
||
|:------------:|:------------:|:-------:|:---------:|:-----------:|:---------:|
|
||
|<a href="https://reactnative.dev/"><img src="https://enatega.com/wp-content/uploads/2023/09/react-native.png" alt="Enatega Logos" width="100"></a> | <a href="https://reactrouter.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/react-router-svgrepo-com.png" alt="Enatega Logos" width="100"></a> |<a href="https://graphql.org/"><img src="https://enatega.com/wp-content/uploads/2023/09/graphQl.png" alt="Enatega Logos" width="100"></a> | <a href="https://expressjs.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/expo.png" alt="Enatega Logos" width="100"></a> |<a href="https://reactstrap.github.io/"><img src="https://enatega.com/wp-content/uploads/2023/09/React-strap.png" alt="Enatega Logos" width="100"></a> | <a href="https://amplitude.com/"><img src="https://enatega.com/wp-content/uploads/2023/09/Amplitude.png" alt="Enatega Logos" width="100"></a> |
|
||
|
||
|
||
## :iphone: Demos: <a id="heading-9"></a>
|
||
| Customer App | Rider App | Admin Dashboard |
|
||
| :---------------------------: | :----------------------------: | :----------------------------:|
|
||
| <a href="#heading-9" style="pointer-events: none;"><img src="https://enatega.com/wp-content/uploads/2023/09/logooo.png" alt="Enatega Logos" width="150"></a>| <a href="#heading-9" style="pointer-events: none;"><img src="https://enatega.com/wp-content/uploads/2023/09/Untitled-1-1.png" alt="Enatega Logos" width="150"></a>|<a href="https://enatega.ninjascode.com/admin/dashboard"><img src="https://enatega.com/wp-content/uploads/2023/09/dashboard.png" alt="Enatega Logos" width="150"></a> |
|
||
| <a href="https://play.google.com/store/apps/details?id=com.enatega.vendor"><img src="https://enatega.com/wp-content/uploads/2023/09/android_518705.png" alt="Android Logo" width="25"></a> <a href="https://apps.apple.com/pk/app/enatega/id1493209281"><img src="https://enatega.com/wp-content/uploads/2023/09/social_10096939.png" alt="iOS Logo" width="25"></a> |<a href="https://play.google.com/store/apps/details?id=com.enatega.rider"><img src="https://enatega.com/wp-content/uploads/2023/09/android_518705.png" alt="Android Logo" width="25"></a> <a href="https://apps.apple.com/pk/app/enatega-rider-app/id1493291047"><img src="https://enatega.com/wp-content/uploads/2023/09/social_10096939.png" alt="iOS Logo" width="25"></a> |
|
||
|
||
|
||
|
||
## :book: Documentation <a id="heading-8"></a>
|
||
|
||
Find the link for the complete documentation of the Enatega Single Vendor Solution [here](https://enatega.com/singlevendor-documentation/).
|
||
|
||
## :tv: Demo Videos: <a id="heading-14"></a>
|
||
| Demo |
|
||
| :---------------------------: |
|
||
| <a href="https://www.youtube.com/watch?v=AWbdt9GX1t4"><img src="https://img.youtube.com/vi/AWbdt9GX1t4/0.jpg" width="200" alt="Video"></a>
|
||
|
||
## :people_holding_hands: Contributors: <a id="heading-14"></a>
|
||
<div align="center">
|
||
<br>
|
||
<a href="https://github.com/Ninjas-Code-official/Enatega-Food-Delivery-Solution/graphs/contributors">
|
||
<img src="https://contrib.rocks/image?repo=Ninjas-Code-official/Enatega-Food-Delivery-Solution"" style="max-width: 50%; height: auto;" />
|
||
</a>
|
||
</div>
|
||
|
||
|
||
## :warning: Disclaimer: <a id="heading-12"></a>
|
||
|
||
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.
|
||
|
||
## :mailbox_with_mail: Contact Us: <a id="heading-13"></a>
|
||
|
||
support@enatega.com
|
||
|