https://www.humansecurity.com/tech-engineering-blog/finding-the-best-go-project-structure-part-2