Skip to content

nakoding-community/goboil-clean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goboil-clean

Golang boilerplate with clean architecture

  • PORT : 3030
  • PATH : /

Installation

# clone the repo
$ git clone 

# go into app's directory
$ cd goboil-clean

Build & Run

Local environment

# build 
$ go build

# run 
$ ENV=DEV go run main.go
$ ENV=DEV ./filego

Docker environment

# build 
$ docker build -t goboil-clean-api:latest .

# run
$ docker compose -f deployments/docker-compose.yml up -d

Documentation

Install environment

# get swagger package 
$ go install github.com/swaggo/swag/cmd/swag@latest

# move to swagger dir
$ cd $GOPATH/src/github.com/swaggo/swag

# install swagger cmd 
$ go install cmd/swag

Generate documentation

# generate swagger doc
$ swag init --propertyStrategy snakecase

to see the results, run app and access {{url}}/swagger/index.html

Description

This project built in clean architecture that contains :

  1. Factory
  2. Middleware
  3. Handler
  4. Binder
  5. Validation
  6. Usecase
  7. Repository
  8. Model
  9. Database
  10. Migration
  11. Seed

This project have some default endpoint :

  • Auth
    • Login
    • Register
  • Sample
    • Get (+ pagination, sort & filter)
    • GetByID
    • Create (+ transaction scope)
    • Update (+ transaction scope)
    • Delete

Author

Muhammad Cholis Malik

About

Golang Boilerplate with Clean Architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages