Giter Club home page Giter Club logo

ecommerce-api's Introduction

Ecommerce-API

RESTful API for our E-Commerce App Project

Where users can post products, buy & sell their goods. It is built with Golang, MySQL, Docker, AWS EC2, etc.

⚑Features

  • CRUD (Users, Cart, Transactions)
  • Hashing passwordgit
  • Authentication & Authorization
  • Database Migration
  • Automated deployment with GitHub Actions, DockerHub & AWS EC2
  • Midtrans Integration as Payment Gateway

πŸ“‚ Folder Structure Pattern

β”œβ”€β”€ .github
β”‚   └── workflows
β”‚       └── main.yml
β”œβ”€β”€ config
β”‚   └── cloudinary.go
β”‚   └── config.go
β”‚   └── db.go
└── features
β”‚   └── cart
β”‚   β”‚   └── data
β”‚   β”‚   β”‚   └── model.go
β”‚   β”‚   β”‚   └── query.go
β”‚   β”‚   └── handler
β”‚   β”‚   β”‚   └── handler.go
β”‚   β”‚   β”‚   └── request.go
β”‚   β”‚   β”‚   └── response.go
β”‚   β”‚   └── services
β”‚   β”‚   β”‚   └── service_test.go
β”‚   β”‚   β”‚   └── service.go
β”‚   β”‚   └── entity.go
β”‚   └── product
β”‚   β”‚   └── data
β”‚   β”‚   β”‚   └── model.go
β”‚   β”‚   β”‚   └── query.go
β”‚   β”‚   └── handler
β”‚   β”‚   β”‚   └── handler.go
β”‚   β”‚   β”‚   └── request.go
β”‚   β”‚   β”‚   └── response.go
β”‚   β”‚   └── services
β”‚   β”‚   β”‚   └── service_test.go
β”‚   β”‚   β”‚   └── service.go
β”‚   β”‚   └── entity.go
β”‚   └── user
β”‚   β”‚   └── data
β”‚   β”‚   β”‚   └── model.go
β”‚   β”‚   β”‚   └── query.go
β”‚   β”‚   └── handler
β”‚   β”‚   β”‚   └── handler.go
β”‚   β”‚   β”‚   └── request.go
β”‚   β”‚   β”‚   └── response.go
β”‚   β”‚   └── services
β”‚   β”‚   β”‚   └── service_test.go
β”‚   β”‚   β”‚   └── service.go
β”‚   β”‚   └── entity.go
β”‚   └── transaction
β”‚   β”‚   └── data
β”‚   β”‚   β”‚   └── model.go
β”‚   β”‚   β”‚   └── query.go
β”‚   β”‚   └── handler
β”‚   β”‚   β”‚   └── handler.go
β”‚   β”‚   β”‚   └── request.go
β”‚   β”‚   β”‚   └── response.go
β”‚   β”‚   └── services
β”‚   β”‚   β”‚   └── service_test.go
β”‚   β”‚   β”‚   └── service.go
β”‚   β”‚   └── entity.go
└── helper
β”‚   └── cloudinary_helper.go
β”‚   └── dto.go
β”‚   └── jwt.go
β”‚   └── pwd.go
β”‚   └── response.go
└── mocks
β”œβ”€β”€ .gitignore
β”œβ”€β”€ dockerfile
β”œβ”€β”€ ecommerce.yaml
β”œβ”€β”€ erd.png
β”œβ”€β”€ go.mod
β”œβ”€β”€ go.sum
β”œβ”€β”€ LICENSE
β”œβ”€β”€ local.env.example
β”œβ”€β”€ main.go
└── README.md

πŸ”₯ Open API

Simply click here to see the details of endpoints we have agreed with our FE team.

πŸ”— ERD

run

πŸ’» Tools & Stacks

  • Backend Stacks :
    • Golang : Programming Language
    • Viper : Environment Reader
    • Echo : Web Framework
    • JWT : Authentication & Authorization
    • GORM : ORM Library
    • MySQL : Database Management System
  • Documentation :
    • Postman : API Testing & Documentation
    • Swagger : Open API Documentation
  • Deployment & Storage :

πŸ› οΈ How to Run Locally

  • Clone it
$ git clone https://github.com/four-squad/ecommerce-API
  • Go to directory
$ cd ecommerce-api
  • Create a new database

  • Rename local.env.example to local.env

  • Adjust local.env as your environment settings

  • Run the project

$ go run .
  • Voila! πŸ’«

πŸ€– Author

  • Devangga Wiku :

    GitHub

  • Muhammad Habibullah :

    GitHub

Built with ❀️ by Four Squad ©️ 2023

ecommerce-api's People

Contributors

hebobibun avatar devwiku avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.