Este proyecto backend implementa un sistema de administración de jugadores utilizando Spring Boot y Java 21. A continuación, se detallan las características principales, las bibliotecas utilizadas y las buenas prácticas de programación implementadas.
- Gestión de Jugadores: El backend proporciona operaciones CRUD (Crear, Leer, Actualizar, Eliminar) para administrar jugadores.
- Validación de Datos: Se utilizan anotaciones de validación de Spring Boot para garantizar la integridad de los datos de entrada.
- Persistencia de Datos: Se emplea Spring Data JPA y MySQL para almacenar y recuperar datos relacionados con los jugadores.
- Documentación API: Se utiliza Springdoc OpenAPI para generar documentación automática de la API.
- Mapeo de Objetos: MapStruct se utiliza para mapear entre DTOs y entidades de jugador.
- Pruebas Unitarias: Se implementan pruebas unitarias con Mockito y JUnit 5 para garantizar la robustez del código.
- Contenedor de Imágenes: Se utiliza Paketo Buildpacks para construir imágenes de contenedor.
- Control de Versiones: Se utilizó GitHub y GitFlow para el control de versiones y el flujo de trabajo.
- CI/CD: Se implementó CI/CD con GitHub Actions y SonarCloud para garantizar la calidad del código.
- Spring Boot: Marco de desarrollo para la creación de aplicaciones basadas en Spring.
- Spring Data JPA: Acceso a datos utilizando el estándar de JPA.
- Springdoc OpenAPI: Generación automática de documentación OpenAPI.
- MapStruct: Biblioteca de mapeo de objetos Java.
- MySQL Connector: Controlador JDBC para MySQL.
- Mockito: Marco de prueba para realizar pruebas unitarias con mocks.
- JUnit 5: Marco de prueba para escribir y ejecutar pruebas unitarias en Java.
- Manejo de Excepciones: Se implementa un manejo adecuado de excepciones y errores para mejorar la robustez del sistema.
- Validación de Datos: Se aplican anotaciones de validación para garantizar la calidad de los datos recibidos.
- Inyección de Dependencias: Se utiliza la inyección de dependencias de Spring para lograr un código más modular y fácilmente testeable.
- Uso de DTOs: Se emplean objetos de transferencia de datos (DTOs) para separar las capas de presentación y persistencia.
- Logging: Se implementa un registro adecuado utilizando SLF4J para facilitar el diagnóstico de problemas.
Este proyecto utiliza el plugin Lombok para reducir la verbosidad del código. Asegúrate de que tu entorno de desarrollo lo admita.
- Spring Boot 3.1.5
- Lombok 8.4
- Spring Boot Starter Validation
- Spring Boot Starter Web
- Spring Boot Starter Data JPA
- MySQL Connector
- MapStruct 1.5.5.Final
- Springdoc OpenAPI Starter Webmvc UI 2.3.0
- Mockito Core 3.12.4
- Clona el repositorio.
- Configura tu base de datos MySQL y actualiza la configuración en application.properties.
- Ejecuta la aplicación usando tu IDE o mediante el comando
./gradlew bootRun
. - Accede a la documentación de la API generada automáticamente en http://localhost:8080/swagger-ui.html.