The purpose of the template is to show how to organize a project and prevent it from turning into spaghetti code, where to store business logic so that it remains independent, clean, and extensible, how not to lose control when a microservice grows. Configuration. First, config.yml is read, then environment variables overwrite the yaml config if they match. The config structure is in the config.go. The env-required: true tag obliges you to specify a value (either in yaml, or in environment variables). For configuration, we chose the cleanenv library. It does not have many stars on GitHub, but is simple and meets all the requirements. Reading the config from yaml contradicts the ideology of 12 factors, but in practice, it is more convenient than reading the entire config from ENV. It is assumed that default values are in yaml, and security-sensitive variables are defined in ENV.

Features

  • Integration tests
  • Server handler layer (MVC controllers)
  • Server routers are written in the same style
  • Entities of business logic (models) can be used in any layer.
  • Dependency Injection
  • Clean Architecture

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow Go Clean template

Go Clean template Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Go Clean template!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Frameworks

Registered

2023-01-10