Sistema de gestión PACS (Picture Archiving and Communication System) desarrollado con Spring Boot 3.5.0 y arquitectura modular.
wizard/
├── wizard-core/ # Módulo principal con lógica de negocio
├── wizard-auth/ # Módulo de autenticación y autorización
├── wizard-gateway/ # API Gateway
├── wizard-common/ # Utilidades compartidas
└── pom.xml # POM padre
- Java: 17
- Spring Boot: 3.5.0
- Spring Security: 6.5.0
- Spring Data JPA: Integrado
- PostgreSQL: Base de datos principal
- JWT: Autenticación con tokens
- Maven: Gestión de dependencias
- Lombok: Reducción de código boilerplate
- OpenAPI/Swagger: Documentación de API
- TestContainers: Pruebas de integración
- Micrometer: Métricas y monitoreo
- Java 17 o superior
- Maven 3.8+
- PostgreSQL 12+
- Git
git clone https://github.com/tu-usuario/wizard.git
cd wizard
# Crear base de datos PostgreSQL
createdb wizard_db
# Crear archivo application-local.yml en wizard-core/src/main/resources/
cp wizard-core/src/main/resources/application.yml wizard-core/src/main/resources/application-local.yml
# Editar con tus credenciales de base de datos
mvn clean compile
mvn spring-boot:run -pl wizard-core
curl http://localhost:8080/actuator/health
Una vez que la aplicación esté corriendo, puedes acceder a:
- Swagger UI: http://localhost:8080/swagger-ui/index.html
- OpenAPI JSON: http://localhost:8080/v3/api-docs
- Health Check: http://localhost:8080/actuator/health
- Métricas: http://localhost:8080/actuator/metrics
# Ejecutar todas las pruebas
mvn test
# Ejecutar pruebas de integración
mvn verify
# Ejecutar pruebas con cobertura
mvn clean test jacoco:report
Variable | Descripción | Valor por Defecto |
---|---|---|
DB_HOST |
Host de PostgreSQL | localhost |
DB_PORT |
Puerto de PostgreSQL | 5432 |
DB_NAME |
Nombre de la base de datos | wizard_db |
DB_USERNAME |
Usuario de base de datos | - |
DB_PASSWORD |
Contraseña de base de datos | - |
JWT_SECRET |
Secreto para firmar JWT | - |
- wizard-core: Contiene la lógica principal, entidades JPA, servicios y controladores REST
- wizard-auth: Maneja autenticación JWT y autorización basada en roles
- wizard-gateway: API Gateway para enrutamiento y load balancing
- wizard-common: Utilidades, DTOs y configuraciones compartidas
- ✅ API REST con Spring Web
- ✅ Autenticación JWT
- ✅ Validación con Bean Validation
- ✅ Documentación automática con OpenAPI
- ✅ Métricas con Micrometer
- ✅ Health checks con Actuator
- ✅ Pruebas de integración con TestContainers
- ✅ Retry automático con Spring Retry
- Fork el proyecto
- Crear una rama para tu feature (
git checkout -b feature/nueva-funcionalidad
) - Commit tus cambios (
git commit -m 'Agregar nueva funcionalidad'
) - Push a la rama (
git push origin feature/nueva-funcionalidad
) - Abrir un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Si encuentras algún bug, por favor abre un issue describiendo:
- Pasos para reproducir el error
- Comportamiento esperado vs actual
- Versión de Java y sistema operativo
- Logs relevantes
- Desarrollador: Tu Nombre
- Email: tu-email@ejemplo.com
- LinkedIn: tu-perfil-linkedin