Skip to content

Hexagonal architecture, Java 21, Spring Boot 3, MongoDB, Tracing, Logging and Keycloak

License

Notifications You must be signed in to change notification settings

javiorfo/java-spring3-microservice-mongo

Repository files navigation

java-spring3-microservice-mongo

Java archetype oriented to Microservices.

Hexagonal architecture, Java 21, Spring Boot 3, MongoDB, distributed tracing, log centralization and Keycloak.

Dependencies

Java 21, Docker, Gradle

Features

  • Hexagonal Architecture
    • Exception Controller
    • Custom Messages and Exceptions
    • Pagination and Ordering
  • Java 21
    • OpenJDK or GraalVM integration
  • Spring Boot 3
    • Spring Web
    • Spring Data MongoDB
    • 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
    • MongoDB for the app
    • MongoDB Test containers for Test

Files

Usage

  • Create the containers executing ./containers.sh
  • Start the application with the command gradle bootRunDev
  • To delete all the containers: ./containers.sh d

Postgres instead of MongoDB


Donate

  • Bitcoin (QR) 1GqdJ63RDPE4eJKujHi166FAyigvHu5R7v
  • Paypal