Enatega releases App Repo as Open Source

hammadhammad
7 min read

Introduction

After a four-year journey immersed in proprietary software, we're excited to announce our venture into the open-source realm with the launch of Enatega (enatega.com) - a delivery management software designed to jumpstart your own food delivery or similar ventures.

Here's a brief rundown of what Enatega offers:

  • Streamlined Setup: We've simplified the setup process, allowing you to run the project locally on your system with just a few straightforward commands.

  • Robust Infrastructure and Versatility: Enatega is cross-platform compatible, enabling seamless testing on emulators or physical devices you already have, providing unmatched flexibility.

  • Open Source Advantage: With Enatega, you gain access to live demos, documentation, and instructional videos, eliminating the hassle of navigating everything on your own.

For those eager to get started, you can find the source code and begin your journey here: github link

Our Journey to Open Source:

Four years ago, we initiated the Enatega project as a side endeavor at Ninjas Code (ninjascode.com), our software development agency. Initially, we aimed to enter the local market while concurrently providing software development services. Our inspiration stemmed from the desire to challenge a local food delivery app company, believing we could address inherent issues more effectively with our product.

Despite our proficiency in software development, we lacked the marketing expertise required to compete with industry giants. Recognizing this shortfall, we swiftly shifted focus to aiding others in launching their own delivery services.

Initially, we relied on third-party marketplaces for marketing, which proved successful. Our product outperformed others in the market. However, unforeseen circumstances led to the marketplace's closure, necessitating another pivot. Leveraging our development team's expertise, we identified open-sourcing our App Repo as the optimal solution for marketing. This decision has since gained significant traction without the need for extensive paid marketing efforts.

We believe the value we offer extends beyond mere marketing. By providing visibility to other contributors and offering them the opportunity to gain practical technical experience through collaboration on a project utilized by over 100 startups, we contribute to the broader development community.

While striving to maintain our business's viability, we recognize the need for a monetization strategy. Thus, we offer the backend as a licensed product, maintaining the backend source code as proprietary. Although the backend functions as an open API, access to the source code is restricted to purchasers of the license.

Unveiling of the App Repository

Enatega Multivendor presents a comprehensive Multivendor food delivery solution for iOS, Android, and the Web, integrating Amplitude for dashboard and analytics. We have prioritized delivering excellent mobile and dashboard application designs alongside a complete solution, ensuring seamless integration into any meal delivery service.

The mobile component of this application is developed using React Native and Expo, while React powers the dashboard panel and customer web app. Graphql serves as the foundation for both web and mobile interfaces, with the Apollo Client facilitating endpoint querying and state management. Node with MongoDB forms the backend API.

Encompassing all essential features required for any restaurant or food delivery application, this solution streamlines development by organizing code efficiently and eliminating unnecessary screens. Additionally, it is enhanced with the following functionalities to further optimize the development experience.

Customer Mobile/Web Application:

  • Verification of email and phone numbers

  • Using Google, Apple, and Facebook for authentication

  • Restaurants displayed on the map and home screen based on location

  • Information about restaurants includes reviews and ratings, hours of operation, delivery schedules, the menu and items offered, as well as the establishment’s location and minimum order

  • Adding an address using Maps integration and Google Places suggestions

  • Analytics and reporting on errors with Amplitude and Sentry

  • For account creation and order status updates, push notifications and emails to users also include global push notifications to all customers

  • Real-time tracking of Rider and chat with Rider option

  • Multi-Language and different themes support

  • Rating and Review features for order

  • Payment Integration for both PayPal and Stripe

  • Previous order history and adding favorite restaurants

  • Options to add different variations of food items and adding notes to restaurant

  • Pick-up and delivery options with different timings

  • Options to add different variations of food items and adding notes to restaurant

  • Vouchers and Tipping option

  • Searching functionality respective to restaurants and their items

Restaurant Application:

  • Ringer and Push Notification alert for new incoming order

  • Time limiter for a restaurant to accept orders and setting time option for meal preparation

  • Print Invoice option for restaurant

  • Delivered orders history

  • Changing restaurant status to online/offline

  • Order Details with customer information and Order Details

  • Real-time order receiving updates

Rider Application:

  • Real-time order status change updates

  • Push Notification and Ringer feature for a new order

  • Map feature showing markers for delivery address and restaurant address with Google Maps integration

  • Time limiter for accepting an order and updated time shown for meal preparation time

  • The distance and anticipated travel time to the destination (Restaurant and Customer) are displayed

  • Real-time chat with a customer option that includes push notifications for chats received on both ends

  • History of all orders in progress and new orders

  • Online delivery fees that are instantly placed into your wallet, the ability to withdraw money, and wallet history

  • Option of changing a status online/offline of rider

Admin Dashboard:

  • Role-based administration, whereby the administrator has access to all features while the vendor (the owner of the restaurant) only has access to the management of their own establishments

  • Management of Restaurants, Vendors, Restaurants Section

  • Defining Zones for Riders and assigning creating zones to Riders

  • Managing withdrawal requests from riders and commission rates

  • Configuration of application and global level order status management

  • Restaurant orders stats and managing their stripe account for receiving commission directly

  • Restaurants managing their timings and defining delivery bounds where they can operate

  • Restaurants’ menus feature with complete options to add any variety of food with a discount feature

  • User, Ratings, Coupon, and tipping option management

Functionalities for better development experience:

To make your life as a developer easier, we made sure the code was neatly organized and got rid of any extra screens. For an even better development experience, it is combined with the following functionalities.

  • ESLint to provide you with linting capability in Javascript

  • Prettier for code formatting

  • Jest for unit testing

  • Husky to prevent bad commits

What will you have in the Enatega Full App?

  • Enatega Multivendor Mobile App (iOS and Android)

  • Enatega Multivendor Rider App (iOS and Android)

  • Enatega Multivendor Restaurant App (iOS and Android)

  • Enatega Multivendor Web App

  • Admin Web Dashboard

  • Application program interface server

  • Analytics Dashboard with Expo Amplitude

Error reporting that is Sentry

Enatega Technology Stack

Application program interface (API) server

  • NodeJS

  • MongoDB

  • ExpressJS

  • Stripe

  • Paypal

  • Nodemailer

  • Firebase(for push notifications on web)

  • Express GraphQL

  • Mongoose(for MongoDB)

Web Dashboard

  • React

  • GraphQL

  • Bootstrap

  • Firebase(for push notification on web)

Mobile App

  • React Native

  • Expo

  • Graphql

  • Sentry

  • Amplitude

Rider App

  • React Native

  • Expo

  • Graphql

  • Sentry

Restaurant App

  • React Native

  • Expo

  • Graphql

  • Sentry

Customer Web App

  • React

  • Material UI

  • GraphQL

  • Amplitude

  • Sentry

  • Firebase(for push notification on web)

Join Our Open Source Project

We're actively on the lookout for contributors like yourself to join our open-source project. Your contribution could significantly propel our development efforts forward. Our technology stack is tailored to meet high market demand, offering you a valuable opportunity to make a substantial impact.

Join our dynamic community on Discord, where you can pose questions and interact with fellow contributors:

Discord link

There are two main avenues through which you can contribute to our project:

  1. Creating issues:

    1. Submitting PRs for existing issues

Our development team will carefully review your PR and provide feedback. Upon merging, you'll be acknowledged as a contributor, with your name automatically added to our contributor list.

Thank you for investing your time in reading our blog. We're eagerly looking forward to your contributions to our project.

0
Subscribe to my newsletter

Read articles from hammad directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

hammad
hammad