Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eliostvs/clean-architecture-delivery-example
A example of clean architecture in Java 8 and Spring Boot 2.0
https://github.com/eliostvs/clean-architecture-delivery-example
clean-architecture java java-8 jwt-authentication spring-boot spring-security
Last synced: about 1 month ago
JSON representation
A example of clean architecture in Java 8 and Spring Boot 2.0
- Host: GitHub
- URL: https://github.com/eliostvs/clean-architecture-delivery-example
- Owner: eliostvs
- Created: 2018-06-04T14:51:54.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T09:24:57.000Z (almost 3 years ago)
- Last Synced: 2024-09-29T23:04:16.982Z (about 1 month ago)
- Topics: clean-architecture, java, java-8, jwt-authentication, spring-boot, spring-security
- Language: Java
- Size: 513 KB
- Stars: 410
- Watchers: 19
- Forks: 106
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/eliostvs/clean-architecture-delivery-example.svg?branch=master)](https://travis-ci.org/eliostvs/clean-architecture-delivery-example)
# Clean Architecture Example
## Description
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.
## Running
`./gradlew bootRun`
## Architecture
The project consists of 3 packages: *core*, *data* and *presenter*.
### *core* package
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.### *data* package
### *presenter* package
## Diagram
Here is a flow diagram of the payment of an order.
![c4 component](./docs/c4-component.png)