Catering Ecommerce Platform
API Docs · Wireflow · Use Case Diagram · Entity Relationship Diagram
Snackbox
Organizations or offices need to set up a consumption section that is in charge of providing food, where they have to find restaurants and contact them all the time to track their orders to ensure the orders are processed properly.
Snackbox can make it easier for customers to order snacks and rice boxes and do tracking, providing security for customers because the connected partners have passed the verification process and this application will provide employment for partners.
Features
- JWT Authentication
- Multi Role Middleware (Admin, Partner, User)
- Search Product By Nearest Partner Location
- Payment Gateway Integration - Invoice & Disbursment (Xendit)
- AWS S3 Integration
- PDF Export (Maroto)
High Level Architecture
Tech Stack
- Github - Versioning Platform
- Trello - Collaboration Platform
- Go - Project Language
- Echo - Go Web Framework
- MySql - SQL Database
- Ngrok - Expose local url to public url for test with third-party API
- Xendit - Payment gateway API
- AWS S3 - Object storage service
- AWS EC2 - Virtual computer service
- AWS RDS - Relational database service
- Docker - Container Registry
- Kubernetes - Container Orchestration
Structure
Unit Test
Installation
- Clone this repo
git clone https://github.com/furqonzt99/snackbox.git snackbox
- Go to repository folder
cd snackbox
go mod tidy
-
Create .env file and add the following environment (you can see the variables from .env.example)
-
Run this app
go run .
Authors
- @furqonzt99 - Product Owner & Developer
- @yogawahyudi7 - Developer