- project layout, according to community best practices
- Makefile for wrapping project related routines
- Dockerfile and docker-compose for local development
- containers for code, tests and golangci-lint
- configuration management with viper
- logging with logrus or zap
- routing with gorilla/mux or chi
- default health check, http handler and logger middleware