It is boilerplate that can be used for implementing rest-apis in GO-lang.
https://github.com/golang-standards/project-layout
Unit tests are in standalone directory for few reasons:
- it is cleaner,
- we should test only public methods, so it doesn't need to have access to private one,
TODO
Components of internal directory.
Data access layer, in modules should only be interfaces for repositories, here is the place where access to data can be implemented.
Only domain logic.
All related to handle rest api:
- controllers
- formatters between domain and api models,
- routing
All public resources, like API models.