______ _ ______ ___ ____ ________ ____ _____ ______ __
|_ _ \ / \ .' ___ ||_ ||_ _| |_ __ ||_ \|_ _||_ _ `. [ |
| |_) | / _ \ / .' \_| | |_/ / | |_ \_| | \ | | | | `. \ ,--. _ .--. .---. | |--.
| __'. / ___ \ | | | __'. | _| _ | |\ \| | | | | | `'_\ : [ `/'`\]/ /'`\] | .-. |
_| |__) |_/ / \ \_\ `.___.'\ _| | \ \_ _| |__/ | _| |_\ |_ _| |_.' / _ // | |, | | | \__. | | | |
|_______/|____| |____|`.____ .'|____||____||________||_____|\____||______.' (_) \'-;__/[___] '.___.'[___]|__]
This application is part of a lab project at ISEP/IPP to teach Domain Driven Design (DDD) REST and Spring Boot.
backendarch logo created with kammerl ascii signature using font "varsity"
Pedro Cruz 1240589@isep.ipp.pt / pruzapple@gmail.com
The main architectural style is Hexagonal/Onion.
Each functional area has a top level package which is then split in the following subpackages:
- api - REST controller, view models/DTOs and corresponding mappers
- application - use case controllers/services
- domain - core business logic
- model - domain entities and value objects
- services - domain services
- repositories - domain repositories (interfaces)
- infrastructure - adapters to infrastructure components
- repositories.impl - spring data repositories implementation
- bootstrapping - bootstrapping data mainly for dmeo purposes
Start by reading the essential material listed in EAPLI framework
Starting points on Spring:
- Baeldung's springboot tutorial
- The complete Baeldung's Learn Spring Boot
- mkyong's tutorials
- The Spring.io guides
- And the Spring boot reference
Fundamental reading used in the scope of this project:
- Spring boot multi-module projects
- Accessing Data with JPA
- Spring boot console application
- Building a RESTful Web Service
- Testing in spring Boot
The following guides illustrate how to use some features concretely: