modulepackage
1.2.0
Repository: https://github.com/gbrayhan/microservices-go.git
Documentation: pkg.go.dev
# README
Golang Microservices Boilerplate
Example structure to start a microservices project with golang. Using a MySQL databaseSQL.
Manual Installation
If you would still prefer to do the installation manually, follow these steps:
Clone the repo:
git clone https://github.com/gbrayhan/microservices-go
If you need, configure the environment variables in file config.json, if you use docker-compose leave the variables set in the file config.json.example
cp config.json.example config.json
TL;DR command list
git clone https://github.com/gbrayhan/microservices-go
cd microservices-go
cp config.json.example config.json
docker-compose up --build -d
Table of Contents
- Features
- Commands
- Environment Variables
- Project Structure
- API Documentation
- Error Handling
- Validation
- Linting
Features
- Golang v1.14: Stable version of go
- Framework: A stable version of gin-go
- SQL databaseSQL: MariaDB using internal sql package of go sql
- Testing: unit and integration tests using package of go testing
- API documentation: with swaggo a go implementation of swagger
- Dependency management: with go modules
- Environment variables: using viper
- Docker support
- Code quality: with CodeFactor
- Linting: with ESLint
Commands
Build and run image of docker
docker-compose up --build -d
Swagger Implementation
swag init -g routes/ApplicationV1.go
To visualize the swagger documentation on local use
http://localhost:8080/v1/swagger/index.html
Unit test command
# run recursive test
go test ./test/unitgo/...
# clean go test results in cache
go clean -testcache
Lint inspection of go
golangci-lint run ./...
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author