A example of clean architecture in Java 8 and Spring Boot 2.0
The architecture of the project follows the principles of Clean Architecture. It is a simple food delivery app. One can list stores, cousines, products and create food orders. JWT it is used for authentication.
The project consists of 3 packages: core, data and presenter.
This module contains the domain entities and use cases. This module contains the business rules that are essential for our application. In this module, gateways for the repositories are also being defined. There are no dependencies to frameworks and/or libraries and could be extracted to its own module.
Here is a flow diagram of the payment of an order.