Trip Pricer sample WARNING FOR MAVEN USERS: THE 'TARGET' FOLDER IS REPLACED BY A FOLDER NAMED 'BUILD' This is for two reasons: the first is that 'build' is more accurate than 'target'. the second is that it is the same as gradle. We can say that we killed two birds with one stone. Summary 0 Sample goals 1 Requirements 2 Wrappers and practices to build 2.1 Maven wrapper 2.2 Gradle wrapper 2.3 BOM for Bills of Materials 3 xDD 3.1 DDD 3.2 BDD 3.3 TDD 4 Living Documentation 5 Architecture 5.1 Hexagonal architecture 5.2 Functional Core - Imperative Shell architecture 6 DataBase Managing tool 7 I18n 8 CI/CD best practices 9 Let's make it work