Skip to content

lg5spring

Spring Boot 3.5 + JDK 21 — Framework for Building Microservices Faster

Spring Boot 3.5JDK 21Kotlin 2.2Gradle Kotlin
🚀

Hexagonal Architecture

Hexagonal/Ports-and-Adapters con DDD aplicado en cada capa del proyecto.

Event-Driven

Kafka + Avro + Outbox Pattern para mensajería asíncrona confiable.

🧡

Distributed SAGAs

Patrón Saga para transacciones distribuidas con compensación automática.

🧪

BDD Testing

Cucumber + Testcontainers + Allure para A/TDD de extremo a extremo.

📦

Maven BOM

Parent POM gestionado con dependencias versionadas centralizadamente.

Operabilidad

Logging ELK, Sleuth tracing, Docker, JIB, Multi-arch images.


¿Qué es lg5-spring?

lg5-spring es un Framework BOM (Bill of Materials) de Lg Pentagon (LgLabs) diseñado para crear microservicios Spring Boot de forma rápida y estandarizada.

Es un conjunto de librerías, plantillas y estándares que te permiten enfocarte en el dominio de negocio en lugar de perder tiempo configurando dependencias, plugins de build, logging, testing, y patrones de arquitectura.

Stack Técnico

ComponenteVersión
Spring Boot3.5.14
Spring Framework6.2.2
JDK21
Kotlin2.2.0
Gradle8.x (Kotlin DSL)
PostgreSQL42.7.5
Kafkaspring-kafka 3.3.2 + Avro 1.12.0
Testcontainers1.20.4
Cucumber7.21.1
MapStruct1.6.3

Características Principales

CaracterísticaDescripción
Arquitectura HexagonalPorts-and-Adapters con DDD aplicado en cada capa
Event-DrivenKafka + Avro + Outbox Pattern para mensajería asíncrona
Sagas DistribuidasCompensación automática para transacciones distribuidas
Testing E2EUnit → Integration → Acceptance (Cucumber BDD)
Maven BOMParent POM con dependencias versionadas centralizadamente
El OperabilidadLogging ELK, Sleuth tracing, Docker images con JIB

Módulos del Framework

El framework está organizado en ~20 submódulos Gradle que cubren todas las necesidades de un microservicio:

Core: lg5-spring-parent, lg5-spring-starter, lg5-spring-api-rest, lg5-spring-data-jpa, lg5-spring-client

Messaging: lg5-spring-kafka (config, producer, consumer, model), lg5-spring-outbox

Patterns: lg5-jvm-saga, lg5-common (domain, application-service)

Tools: lg5-spring-logger, lg5-spring-utils, lg5-jvm-utils

Testing: lg5-spring-testcontainers, lg5-spring-integration-test, lg5-spring-acceptance-test, lg5-jvm-unit-test

Licencia

Distribuido bajo la Licencia MIT.

Last updated:

Released under the MIT License.