Zinger Framework
Build your own Ecommerce Marketplace 🛍️
Website | Slack | Discord | StackOverflow
An Open Source Framework for building Hyperlocal Delivery Mobile and Web applications. Zinger provides developers easy to handle backend for ordering & delivering foods, groceries, fruits, vegetables, medicines, etc.
Architecture
Zinger Core
A backend server that exposes the REST API, written in spring boot using MySQL database.
Zinger Client
A customer side application to place and track your orders from multiple store partners near your location. It allows you to browse catalogs of all stores and provides you a seamless shopping experience from order acceptance to last mile delivery.
Zinger Partner
A one-stop solution for store owners to manage and track orders from their clients and it provides an effective order and inventory management solutions.
Zinger Admin
A web console to monitor the zinger client and partner applications. It is a powerful tool to track application performance, manage outlet information and promotes new arrivals to increase brand engagement.
Database Schema
Check out the database schema
Installation Setup
Prerequisites
- Java 8 or newer
- MySQL 8.0.19
- Spring Boot 2.2.4
Fork Project
- Fork the Main Repository
- Clone the forked repository locally
git clone forked_repo_url
Setup DB
- Open MySQL Workbench
- Run the DB_INIT.sql script to create the tables, indexes and triggers.
- Run the DB_PROC.sql script to create the procedures.
- Run the DB_INSERT.sql script to populate the database.
- Set your MySQL username and password in application.properties
Setup Firebase Admin SDK
- Create a new Firebase project
- Navigate to
Project setting -> Service accounts -> Generate service account -> Generate new private key
- Set your credentials file path in application.properties
Build & Deploy
Eclipse IDE
- Choose
File -> Import -> Maven -> Existing Maven projects
- Right-click MainApplication.java and choose
Run As -> Java Application
IntelliJ IDEA
- Choose
File -> Open
and choose the project location - Right-click MainApplication.java and choose
Run MainApplication.main()
Test
- Visit localhost:8080 in the browser to check if the setup is successful.
- Test the endpoints in Postman by importing the API collection
- For detailed API documentation, please refer API Docs
Deploy
If you would like to integrate with any mobile or web application, use Ngrok to get a public URL of your localhost. Also, you can host in any of the online cloud service providers like Heruko, Azure, AWS, etc.
Community
Zinger framework is completely free and made open-source. Our team is really happy to support contributors from all around the world. Fork our project and send us your pull request: maybe sample mobile apps using our framework, minor extensions or major improvements.
Every contribution is awesome and welcome!