Have you struggled to clean up a lot of boilerplate codes when built up your project skeleton? I have faced a lot in my work in many years so that I just found the way and blogged it off in Clean Domain-driven Design article. If you think Domain-driven Design and Clean Architecture have a baby then it should be Clean Domain-driven Design (https://hackernoon.com/clean-domain-driven-design-in-10-minutes-6037a59c8b7b). Uncle Bob (https://www.infoq.com/podcasts/uncle-bob-solid-ddd), please don't mind if you read that. To make it more practical, I apply these patterns to coolstore project (https://github.com/vietnam-devs/coolstore-microservices). Check it out and give me your feedback.