Clean Architecture REST API example 🚀
Golang 👨💻 Full list what has been used:
- echo - Web framework
- sqlx - Extensions to database/sql.
- pgx - PostgreSQL driver and toolkit for Go
- viper - Go configuration with fangs
- go-redis - Type-safe Redis client for Golang
- zap - Logger
- validator - Go Struct and Field validation
- jwt-go - JSON Web Tokens (JWT)
- uuid - UUID
- migrate - Database migrations. CLI and Golang library.
- minio-go - AWS S3 MinIO Client SDK for Go
- bluemonday - HTML sanitizer
- swag - Swagger
- testify - Testing toolkit
- gomock - Mocking framework
- CompileDaemon - Compile daemon for Go
- Docker - Docker
Recomendation for local development most comfortable usage:
make local // run all containers
make run // it's easier way to attach debugger or rebuild/rerun project
🙌 👨💻 🚀 Docker-compose files:
docker-compose.local.yml - run postgresql, redis, aws, prometheus, grafana containrs
docker-compose.dev.yml - run docker development environment
docker-compose.delve.yml run development environment with delve debug
Docker development usage:
make docker
Local development usage:
make local
make run
SWAGGER UI:
https://localhost:5000/swagger/index.html