Skip to content

lmnzr/simpleshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Golang Simple API For Onlineshop

Just A Project To Learn and Explore Go Lang

Stack

  • GoLang
  • Echo (Go Minimalist Web Framework)
  • MariaDB/MySQL (Database)
  • Docker
  • Kubernetes
  • Travis CI/CD

Services

  • User
  • Product
  • Transaction

Branch Milestone

  • Development (Playground)
  • Basic (First Milestone Basic HTTP Server)
  • Monolith (Second Milestone Monolith Application)
  • Master (Latest Milestone)/(Final Milestone - Kubernetes Ready Microservices Application)

Milestones

First Milestone

  • Basic Structure
  • Healtcheck/Hello Endpoint
  • Test Case Backbone
  • Coverage Test Backbone
  • Makefile
  • CORS Configuration
  • OpenAPI / Swagger Documentation
  • Logging Middleware
  • Separate Configuration From Code
  • JWT Middleware
  • DB Model
  • Async Write To DB Using Go Routine And Channel

Second Milestone

  • User Schema
  • [User] Register New User
  • [User] Get User Profile Need JWT uuid user
  • [User] Login User
  • Product Schema
  • [Product] Get Product Information
  • [Product] Register Product Information
  • [Product] Update Product Information
  • [Product] Delete Product Information (Soft Delete)
  • Transaction Schema
  • [Transaction] Get Transaction Information
  • [Transaction] Buy Product
  • [Transaction] Update Transaction (Send Email Asynchronously For Each Update)
  • Approx. 70% Coverage Test
  • Dockerize
  • CI/CD With Travis
  • Deploy To Heroku

Final Milestone

  • Separate User Service
  • Dockerize User Service
  • Separate Product Service
  • Dockerize Product Service
  • Separate Transaction Service
  • Dockerize Transaction Service
  • Setup Kubernetes Deployment
  • Approx. 70% Coverage Test
  • Microservice CI/CD With Travis
  • Deploy To Kubernetes/Minikube