Great article! I’d recommend to watch Kat Zien presentation
https://www.youtube.com/watch?v=oL6JBUk6tj0
I always go with this for a complex project otherwise I just stick with flat
Hex
├── cmd
│ └── hext-rest-api-server
│ ├── 29-Dec-18.md
│ ├── 29-Dec-18.txt
│ ├── 30-Dec-18.md
│ └── main.go
├── go.mod
├── go.sum
└── pkg
├── auth
│ ├── service.go
│ ├── service_test.go
│ └── user.go
├── http
│ └── handler
│ └── handler.go
└── storage
└── mem
├── repository.go
└── user.go
Flat
.
├── Dockerfile
├── docker-compose.yml
├── go.mod
├── go.sum
├── join.go
├── join_test.go
├── login.go
├── login_test.go
├── main.go
├── middleware.go
├── payman-api
├── profile.go
├── requests.go
├── tmp
├── token.go
└── user