- Gin is a web framework written in Go (Golang). It features a martini-like API with performance that is up to 40 times faster thanks to httprouter. If you need performance and good productivity, you will love Gin.
- JWT A go (or 'golang' for search engine friendliness) implementation of JSON Web Tokens.
- GORM with PostgresSQLThe fantastic ORM library for Golang aims to be developer friendly.
- Wire is a code generation tool that automates connecting components using dependency injection.
- Viper is a complete configuration solution for Go applications including 12-Factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
- swag converts Go annotations to Swagger Documentation 2.0 with gin-swagger and swaggo files
To use go-gin-clean-arch
project, follow these steps:
# Navigate into the project
cd ./go-gin-clean-arch
# Install dependencies
make deps
# Generate wire_gen.go for dependency injection
# Please make sure you are export the env for GOPATH
make wire
# Run the project in Development Mode
make run
Additional commands:
➔ make help
build Compile the code, build Executable File
run Start application
test Run tests
test-coverage Run tests and generate coverage file
deps Install dependencies
deps-cleancache Clear cache in Go module
wire Generate wire_gen.go
swag Generate swagger docs
help Display this help screen
In the project directory, you can call:
For getting status page
For generating a JWT
For getting all of users
For getting user by ID
For creating new user
For removing existing user
For updating existing user