Golang API Service boilerplate using best practices of Clean Architecture.
Responsibility: CRUD and Login Users with JWT.
- Gin-Gonic
- Swaggo
- go-redis
- GORM (MySQL)
- Golang-Migrate
- Snowflake
- OpenTelemetry
- JWT-Go
- Crypto
Swagger http://localhost:8000/auth/swagger/index.html
Jaeger UI http://0.0.0.0:16686/search
- API REST
- MySQL
- Redis
- Jaeger
Set Env. variables of .env-sample:
Compile with:
make run
Update Swagger Doc:
make doc
make test
- assets: static files
- cmd: binaries entrypoint
- internal: private packages
- configs: env. variables
- usecase: business logical/rules
- delivery: delivery layer -> http, grpc, messaging
- entity: entities / schemas
- repository: storage operations, database interface
- service: external services call's
- pkg: public packages
- docs: Swagger Documentation