Go Project Structure
This is a template repository for Go projects.
We released a blog post revealing the story behind this structure. Our internal journey at HUMAN Security to find the best project structure, the decision weβve taken, and the conclusions weβve drawn along the way.
To view a full example, navigate to the example branch.
Each of the directories in this repository contains a README file describing its purpose.
Contents
Usage
To create a new project, fork this repository or use it as a template repository.
Project Structure Design
The project structure is designed with independent packages in mind, according to hexagonal architecture, and targeted to provide the following benefits:
- Structural coherence
- Separation of business logic and infrastructure
- Reusability
- Dependency declaration
Fore more info, read the full article behind this structure.
Contact and Contribute
Reporting issues and requesting features may be done in our GitHub issues page. For any further questions or comments you can reach us out at [email protected].
Any type of contribution is warmly welcome and appreciated β€οΈ Please read our contribution guide for more info.