https://github.com/javiorfo/java-spring3-microservice
Clean architecture, Java 21, Spring Boot 3, Postgres, Tracing, Logging and Keycloak
https://github.com/javiorfo/java-spring3-microservice
auditory hexagonal-architecture hibernate-jpa java java-21 keycloak microservice spring-boot spring-security springboot3
Last synced: 4 months ago
JSON representation
Clean architecture, Java 21, Spring Boot 3, Postgres, Tracing, Logging and Keycloak
- Host: GitHub
- URL: https://github.com/javiorfo/java-spring3-microservice
- Owner: javiorfo
- License: mit
- Created: 2023-06-16T14:04:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-26T13:24:22.000Z (about 1 year ago)
- Last Synced: 2025-05-05T21:54:06.134Z (8 months ago)
- Topics: auditory, hexagonal-architecture, hibernate-jpa, java, java-21, keycloak, microservice, spring-boot, spring-security, springboot3
- Language: Java
- Homepage:
- Size: 301 KB
- Stars: 12
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# java-spring3-microservice
*Java archetype oriented to Microservices.*
Clean architecture, Java 21, Spring Boot 3, distributed tracing, log centralization and Keycloak.
## Dependencies
Java 21, Docker, Maven
## Features
- Clean Architecture
- Exception Controller
- Custom Messages and Exceptions
- Pagination and Ordering
- Java 21
- OpenJDK or GraalVM integration
- Spring Boot 3
- Spring Web
- Spring Data JPA
- Spring OAuth2 Resource Server
- Spring Security
- Spring Devtools
- Spring Actuator
- Keycloak as Auth Server
- Distributed tracing
- OpenTelemetry, Micrometer and Jaeger
- Log Centralization
- Logstash, ElasticSearch and Kibana
- Swagger
- OpenApi
- Auditory
- JPA auditing
- Database
- Postgres for the app
- H2 for Test
- Schema generation (schema.sql)
## Files
- [Docker files](https://github.com/javiorfo/java-spring3-microservice/tree/master/docker)
- [Kubernetes files](https://github.com/javiorfo/java-spring3-microservice/tree/master/k8s)
- [Ship files](https://github.com/javiorfo/java-spring3-microservice/tree/master/ships)
- For those using Neovim and [this plugin](https://github.com/javiorfo/nvim-ship)
## Usage
- Create the containers executing `./containers.sh`
- Download and compile [this library](https://github.com/javiorfo/java-spring3-microservice-lib)
- Start the application with the command `mvn spring-boot:run -Pdev`
- To delete all the containers: `./containers.sh d`
## MongoDB instead of Postgres
- [MongoDB repo](https://github.com/javiorfo/java-spring3-microservice-mongo) contains version with MongoDB
---
### Donate
- **Bitcoin** [(QR)](https://raw.githubusercontent.com/javiorfo/img/master/crypto/bitcoin.png) `1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v`
- [Paypal](https://www.paypal.com/donate/?hosted_button_id=FA7SGLSCT2H8G)