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
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
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