{"repo":"Hyunk3l/hexagonal-architecture-kotlin-template","free":true,"listed":false,"github":"https://github.com/Hyunk3l/hexagonal-architecture-kotlin-template","clone":"git clone https://github.com/Hyunk3l/hexagonal-architecture-kotlin-template.git","description":"The purpose of this template is to avoid repeating, over and over again, the same basic packages structure, gradle and configurations. With this template we can generate a service from scratch following \"DDD Style\" hexagonal architecture (aka Ports & Adapters)","language":"Jinja","stars":22,"topics":["hexagonal-architecture","template","copier-template","ddd-architecture","kotlin","ports-and-adapters","spring","spring-boot","gradle"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Hexagonal Architecture Kotlin Template The purpose of this template is to avoid repeating, over and over again, the same basic packages structure, gradle and configurations. Note: this is just a skeleton with a silly example. Is good to start a project with it, but if you want to see a production ready and fully tested project with a lot of examples, please visit my friend Albert Llousas Team Management repository. The current packages structure has been popularized by Vaughn Vernon, the author of Implementing Domain-Driven Design and Domain-Driven Design Distilled and you can see an example in his Github Repository. The structure is a mix of Alistair Cockburn's Ports & Adapters Pattern and DDD concepts. In fact, if you know the original Hexagonal Architecture article, you will see that the packages structure is not familiar to you, but you may recognize the concepts embedded (Ports & Adapters). In the src directory you will see the following packages: The application package is the place where we will put all the Application Services (aka Use Cases) classes. The domain package will host all the pure Domain classes, such as Aggregates, Value Objects, Entities, Domain Events, Repositories etc. Usually this package also hosts PORTS (CustomerRepository is an example of a Port). The infrastructure package instead, is the place were we put all the infrastructure concerns, such as framework, configurations and concrete implementations. You will see an adapters package that contains","default_branch":null,"files":null,"tree":[],"storefront":"/r/Hyunk3l","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Hyunk3l/hexagonal-architecture-kotlin-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}