golang-starter-template
is an opinionated golang backend development template that includes setup with GORM ORM (Postgres, etc), Echo web framework for API's, Go-playground for validation.
- Development environment using Docker Compose and VSCode devcontainers that works with Linux, MacOS and Windows.
- Adheres to the project layout defined in golang-standard/project-layout
- Provides database ORM and abstraction for connecting to different databases.
TODO Future
- Integrates go-swagger for compile-time autogeneration of
swagger.json
and request/response validation functions. - Integrates MailHog for easy SMTP-based email testing
- Parallel jobs optimized
Makefile
and various convenience scripts, a full rebuild viamake build
only takes seconds
Requires the following local setup for development:
- Docker CE (19.03 or above)
- Docker Compose (1.25 or above)
After your git clone
you may do the following:
# $local
# Easily start the docker-compose
docker-compose up -d
# Defaults to Postgres
# Create golang-starter-template db in postgres via localhost:8080
sh ./run-local.sh
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.