Skip to content

Visión General de las Librerías

lg5-spring está compuesto por ~20 submódulos Gradle organizados en capas. Cada módulo es una librería independiente que puede ser usada de forma individual o combinada con otras.

Dependencias entre Módulos

lg5-jvm-utils (base: Lombok, Guava, MapStruct)

     ├── lg5-common-domain
     └── lg5-common-application-service

          ├── lg5-spring-starter ──────────────────┐
          │                                         │
          ├── lg5-spring-api-rest ────────────┐     │
          │                                     │     │
          ├── lg5-spring-data-jpa ────────────┼─┐   │
          │                                     │ │   │
          ├── lg5-spring-client ────────────────┼─┼───┼── Main services
          │                                     │ │   │   │
          ├── lg5-spring-kafka-config ──────────┼─┘   │   │
          ├── lg5-spring-kafka-model ───────────┘     │   │
          ├── lg5-spring-kafka-producer ────────┐     │   │
          ├── lg5-spring-kafka-consumer ────────┼─┐   │   │
          ├── lg5-spring-outbox ────────────────┼─┼───┼── Event reliability
          ├── lg5-jvm-saga ─────────────────────┼─┘   │   │
          ├── lg5-spring-logger ──────────────────┘     │   │
          │                                         │     │   │
          ├── lg5-spring-testcontainers ──────────┘     │   │
          ├── lg5-spring-integration-test ────────┐     │   │
          │                                       │     │   │
          ├── lg5-spring-acceptance-test ─────────┼─┐   │   │
          │                                        │ │   │   │
          └── lg5-jvm-unit-test ───────────────────┘ │   │   │
                                                     │ │   │   │
lg5-spring-parent (BOM) ── manages all the above ───└─┴───┴── Main

Lista de Módulos

MóduloGrupo MavenDescripción
lg5-spring-parentcom.lg5.springBOM - Gestiona todas las versiones
lg5-spring-startercom.lg5.springspring-boot-starter mínimo
lg5-spring-api-restcom.lg5.springSpring Web + Validation + Actuator
lg5-spring-data-jpacom.lg5.springSpring Data JPA + PostgreSQL + Liquibase
lg5-spring-clientcom.lg5.springOpenFeign REST Client
lg5-spring-kafka-configlg5.common.kafka@ConfigurationProperties de Kafka
lg5-spring-kafka-modellg5.common.kafkaApache Avro schemas
lg5-spring-kafka-producerlg5.common.kafkaKafka Producer con Avro
lg5-spring-kafka-consumerlg5.common.kafkaKafka Consumer con Avro
lg5-spring-outboxcom.lg5.spring.outboxOutbox pattern (OutboxStatus, OutboxScheduler)
lg5-jvm-sagacom.lg5.jvmSaga Step interface (process/rollback)
lg5-common-domainlg5.commonDDD primitives (AggregateRoot, Entity)
lg5-common-application-servicelg5.commonValidación + spring-tx + JSON
lg5-spring-loggercom.lg5.springELK Logging (Logstash, Janino, Sleuth)
lg5-jvm-utilscom.lg5.jvmLombok + Guava + Commons Lang + MapStruct
lg5-spring-utilscom.lg5.springDevTools + Docker Compose + Logging
lg5-spring-testcontainerscom.lg5.springPostgreSQL, Kafka, WireMock containers
lg5-spring-integration-testcom.lg5.springLg5TestBoot base classes
lg5-spring-acceptance-testcom.lg5.springCucumber BDD
lg5-jvm-unit-testcom.lg5.jvmJUnit Jupiter + Mockito

Released under the MIT License.