Skip to content

seniorpe/java-spring-boot-ddd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guía de ejecución del Proyecto

Este proyecto es una API RESTful basada en Spring Boot que maneja usuarios y teléfonos con persistencia en una base de datos H2.

Índice

  1. Pre-requisitos
  2. Compilar el Proyecto
  3. Desplegar en Docker
  4. Ejecutar Pruebas Unitarias
  5. Validar Swagger, H2 y Postman
  6. Diagrama Proyecto

Pre-requisitos

Antes de comenzar, asegúrate de tener instaladas las siguientes herramientas:

Compilar el Proyecto

  1. Clona el repositorio:

    cd sources
    git clone https://github.com/seniorpe/java-spring-boot-ddd.git
    
    
  2. Compilar el proyecto usando Maven:

    cd java-spring-boot-ddd
    mvn clean install -DskipTests
    

Esto descargará las dependencias, compilará el código fuente y ejecutará sin las pruebas unitarias.

Desplegar en Docker

  1. Asegúrate de que Docker se encuentre funcionando.

  2. Desplegar en Docker

    docker build -t java-spring-boot-ddd .
    docker run -d -p 8181:8181 java-spring-boot-ddd
    
  3. Validar despliegue

       docker ps
    

Ejecutar Pruebas Unitarias

  1. Ejecuta los tests:

    mvn test
    

Esto ejecutará todas las pruebas unitarias.

Validar Swagger, H2 y Postman

  1. Swagger
    URL: http://127.0.0.1:8181/api/v1/swagger-ui/index.html
    

  1. H2 Console Las tablas de la base de datos se generan al desplegar el proyecto. El archivo DDL está en: resources/db/create.sql
    URL: http://127.0.0.1:8181/api/v1/h2-console
    
    Driver Class: org.h2.Driver
    JDBC URL: jdbc:h2:mem:db
    User Name: sa
    Password: qwerty
       

  1. Postman Se debe importar a Postman el fichero de la colección que está dentro del proyecto.
    resources/postman/RESTful.postman_collection
    

Diagrama Proyecto

Este proyecto está basado en Domain-Driven Design (DDD), un enfoque que organiza el código en torno al dominio del negocio. El sistema se divide en diferentes Bounded Contexts, cada uno representando una parte específica del dominio. Las entidades, agregados, servicios de dominio y repositorios son utilizados para garantizar que el modelo refleje con precisión el conocimiento del negocio, facilitando el desarrollo y mantenimiento del sistema a medida que evoluciona.

About

Domain-Driven Design(DDD) using Spring Boot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published