Catering Ecommerce Platform

API Docs · Wireflow · Use Case Diagram · Entity Relationship Diagram


Go.Dev reference Go.Dev reference Go.Dev reference Go.Dev reference

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.


  • 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

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



Unit Test

Unit Test


  • Clone this repo
git clone 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 .



View Github