This template can be used to rapidly bootstrap a new project.
The basic template defines the following:
- a project layout following Domain-Driven Design and Hexagonal Architecture principles.
- Gradle Kotlin DSL build and dependency management system.
- Kotlin JVM standard libraries
- JUnit 5 test framework
- JaCoCo gradle plugin for test code coverage
To build
./gradlew clean build
To run tests
./gradlew test
./gradlew integrationTest
To generate code coverage report
./gradlew jacocoTestReport
- Domain-Driven Design - Tackling complexity in the heart of software, Eric Evans. See also Domain Driven Design by Martin Fowler.
- Designing Hexagonal Architecture with Java book and associated code repository.
- DDD, Hexagonal, Onion, Clean, CQRS, ... How I put it all together by Herberto Graca.
- Hexagonal architecture by Alistair Cockburn.
Tech | Version | Reference |
---|---|---|
Gradle | 7.2 | Gradle Kotlin DSL Primer |
Java | 17 | OpenJDK 17 |
Kotlin | 1.6.0 | Kotlin docs |
Junit | 5.8.2 | JUnit 5 User Guide |
JaCoCo | 0.8.7 | JaCoCo Plugin |