🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

github.com/iffakhry/go-commerce-mvc

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/iffakhry/go-commerce-mvc

v0.0.0-20240624060021-77e21a704d47
Source
Go
Version published
Created
Source

Go-Commerce

About

Repository ini digunakan untuk referensi belajar membuat Rest API menggunakan Golang dengan MVC architecture. Project ini adalah project ecommerce sederhana dengan fitur manajemen data user, product dan transaksi. Project ini juga sudah dilengkapi dengan mekanisme hashing password dan JWT auth untuk security.

ERD

Screenshot

Tech stack

  • Golang
  • Echo Web Framework https://echo.labstack.com/
  • Gorm ORM https://gorm.io/
  • JWT Auth https://jwt.io/
  • PosgreSQL
  • Docker https://docker.com
  • Swagger (Swaggo) https://github.com/swaggo/swag

How to run

Using Docker Compose

NB: ketika menggunakan docker compose, docker akan menjalankan aplikasi go-commerce dan database postgres secara bersamaan.

  • Pastikan docker sudah terinstall

  • Jalankan Docker compose

    docker-compose up -d
    
  • Stop/terminate aplikasi

    docker-compose down
    

Manual

NB: Aplikasi go-commerce membutuhkan database PostgreSQL, jadi sebelum menjalankan app, pastikan sudah terinstall di perangkat masing-masing. atau bisa juga menggunakan layanan postgresql online.

  • Pastikan sudah ada database dengan nama db_commerce di PostgreSQL. (nama bisa disesuaikan dengan kebutuhan)
  • Buat file .env Sesuaikan valuenya dengan konfigurasi yang ada di perangkat masing-masing.
    DBHOST=your-db-host
    DBUSER=your-db-user
    DBPASS=your-db-password
    DBNAME=your-db-name
    DBPORT=your-db-port
    JWTSECRET=your-jwt-secret
    
  • Jalankan app
    go run main.go
    

API Documentation

ketika aplikasi sudah berjalan, API documentation (swagger) bisa diakses di alamat berikut: http://localhost:8080/swagger/index.html/

Install swaggo

  • Download zip/tar.gz file executable swaggo dari https://github.com/swaggo/swag/releases
  • extract file tersebut
  • letakkan di folder tersendiri
  • tambahkan ke environment path
    • macOS
      • buka nano ~/.zshrc
      • tambahkan diakhir tersendiri alias swag=~/swaggo/swag
      • note: sesuaikan dengan direktori tempat file hasil extract tadi berada

Generate swagger using swaggo

  • ketika file main.go berada di root folder, maka langsung jalankan perintah:

    swag init
    
  • ketika file main.go berada di subfolder, maka jalankan perintah:

    swag init -g ./cmd/httpserver/main.go -o ./docs
    

FAQs

Package last updated on 24 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts