https://mattock.jp/blog/system-development/project-structure/