- Instructions
- Architecture
- Model
- API Documentation
- Concerns
mvn clean install
mvn spring-boot:build-image
Unit Test Line Coverage: %74
Unit Test : mvn test
Unit + Integration Tests : mvn verify
mvn spring-boot:run
Used Libraries and Frameworks:
- Spring Boot: 2.3.2
- Spring Web: 2.3.2
- Lombok: 1.18.12
- Mapstruct: 1.31.1
- H2: 1.4.200
- Spring Doc, Open-API: 1.2.32
Note: Spring Application (Async)Events are used for start point of event-driven system.
Relation: Customer, 0..1 -> N Address
Customer- 0..1
- firstName: String
- lastName: String
- phoneNumber: String
- email: String
Address- N
- type: Enum(Integer)
- city: String
- country: String
- line: String
- customerId: long
Please, Test the API from SpringDoc Panel.
You can check REST Document from following URL;
http://localhost:8080/api/documentation.html
-
You cannot retrieve too much record at the same time, even it is not on the spec, basic pagination structure introduced. page: 1, count: 20 default settings.
-
Validation rules remained basic level for sake of demo project
-
Unit Tests created specifically for domain services
-
Integration Tests only created for REST level, Persistence layer Integration tests are not implemented.