https://github.com/0xtheprodev/spring-clean-example
Clean Architecture Example with Spring Framework (Java)
https://github.com/0xtheprodev/spring-clean-example
clean-architecture graphql hexagonal-architecture hibernet java java18 maven openapi openapi3 repository-pattern rest-api spring spring-boot
Last synced: 9 months ago
JSON representation
Clean Architecture Example with Spring Framework (Java)
- Host: GitHub
- URL: https://github.com/0xtheprodev/spring-clean-example
- Owner: 0xTheProDev
- License: mit
- Created: 2022-07-03T14:57:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-13T10:59:00.000Z (about 3 years ago)
- Last Synced: 2025-02-08T00:24:22.399Z (11 months ago)
- Topics: clean-architecture, graphql, hexagonal-architecture, hibernet, java, java18, maven, openapi, openapi3, repository-pattern, rest-api, spring, spring-boot
- Language: Java
- Homepage:
- Size: 103 KB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# spring-clean-example
[](https://www.java.com/)
[](https://spring.io/)
[](https://tomcat.apache.org/)
[](https://www.openapis.org/)
[](https://graphql.org/)
[](https://github.com/0xTheProDev/spring-clean-example/issues)
[](https://github.com/0xTheProDev/spring-clean-example/issues?q=is%3Aissue+is%3Aclosed)
[](https://github.com/0xTheProDev/spring-clean-example/pulls)
[](https://github.com/0xTheProDev/spring-clean-example/pulls?q=is%3Apr+is%3Aclosed)
[](https://github.com/0xTheProDev/spring-clean-example/graphs/contributors)
[](https://github.com/0xTheProDev/spring-clean-example/pulse)
## Description
_Example Application Interface using Spring framework in Java_
This example showcases Repository Pattern in Hexagonal Architecture _(also known as Clean Architecture)_. Here we have two Entities - Books and Authors, whose relationships have been exploited to create CRUD endpoint in REST under OpenAPI standard.
## Installation
- Run the application using [Maven](https://maven.apache.org/):
```sh
$ ./mvnw spring-boot:run
```
- For Windows users:
```powershell
$ mvnw spring-boot:run
```
## Testing
- Run test suite along with Coverage reporting:
```sh
$ ./mvnw jacoco:prepare-agent test install jacoco:report
```
or for Windows
```powershell
$ mvnw jacoco:prepare-agent test install jacoco:report
```
## Swagger UI
- Open Swagger UI at `localhost:8080/swagger-ui` after running the application.
## License
© MIT License