Este proyecto es una API RESTful basada en Spring Boot que maneja usuarios y teléfonos con persistencia en una base de datos H2.
- Pre-requisitos
- Compilar el Proyecto
- Desplegar en Docker
- Ejecutar Pruebas Unitarias
- Validar Swagger, H2 y Postman
- Diagrama Proyecto
Antes de comenzar, asegúrate de tener instaladas las siguientes herramientas:
-
Clona el repositorio:
cd sources git clone https://github.com/seniorpe/java-spring-boot-ddd.git
-
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.
-
Asegúrate de que Docker se encuentre funcionando.
-
Desplegar en Docker
docker build -t java-spring-boot-ddd . docker run -d -p 8181:8181 java-spring-boot-ddd
-
Validar despliegue
docker ps
-
Ejecuta los tests:
mvn test
Esto ejecutará todas las pruebas unitarias.
- Swagger
URL: http://127.0.0.1:8181/api/v1/swagger-ui/index.html
- 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
- Postman
Se debe importar a Postman el fichero de la colección que está dentro del proyecto.
resources/postman/RESTful.postman_collection
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.