Dependencias - FactoriaF5-Asturias/project-p5-digital-academy-team3-restaurant-backend GitHub Wiki

Dependencias

Este inventario recoge las dependencias y herramientas declaradas en el proyecto. Las versiones de los componentes gestionados por Spring Boot corresponden a Spring Boot 4.1.1; las demás se indican según la versión resuelta por Maven.

Testing

  • Spring Boot Test 4.1.1: aporta utilidades generales para tests unitarios e integración.
  • JUnit Jupiter 6.0.3: framework de ejecución y aserciones de los tests.
  • Mockito 5.23.0: simula dependencias externas para aislar la lógica en tests unitarios.
  • Spring Boot WebMVC Test 4.1.1: aporta utilidades de pruebas MVC, incluido MockMvc.
  • Testcontainers 2.0.5: integra los tests con contenedores, incluido PostgreSQL. La integración de Spring Boot usa Spring Boot Testcontainers 4.1.1.
  • JaCoCo Maven Plugin 0.8.12: instrumenta los tests y genera el informe de cobertura.

Ficheros

  • Firebase Admin SDK 9.10.0: SDK administrativo de Firebase. El proyecto no incluye una dependencia específica de Firebase Storage.
  • Apache PDFBox 3.0.8: biblioteca para trabajar con documentos PDF.

Limpieza de código

  • Lombok 1.18.46: reduce código repetitivo y también está configurado como procesador de anotaciones.
  • MapStruct 1.6.3: genera mapeadores entre entidades y DTOs. El compilador configura sus procesadores de anotaciones junto con Lombok.

Núcleo del backend (API, persistencia, seguridad)

  • Spring Boot 4.1.1: base de la aplicación.
  • Spring Web 4.1.1: expone la API REST que consumen tablets, app cliente y dashboards.
  • Spring Data JPA 4.1.1: capa de persistencia hacia PostgreSQL.
  • PostgreSQL Driver 42.7.13: conector necesario para conectar con la base de datos.
  • Spring Validation 4.1.1: valida los DTOs de entrada antes de llegar al servicio.
  • Spring Security 4.1.1: protege los endpoints según el rol del usuario.
  • OAuth2 Resource Server 4.1.1: da soporte a la autenticación con JWT. La aplicación usa JwtEncoder/JwtDecoder de Spring Security con Nimbus.
  • JJWT 0.13.0: también está declarado, aunque el código Java actual usa la API JWT de Spring Security y no referencia JJWT.
  • Flyway 12.4.0: versiona y migra el esquema PostgreSQL de forma controlada.

Integraciones externas / funcionalidades específicas

  • SpringDoc OpenAPI 3.1.0: genera documentación interactiva de la API automáticamente.
  • WebSocket 4.1.1: proporciona soporte para comunicación en tiempo real.
  • Stripe SDK 33.4.0: permite integrar pagos con tarjeta.
  • Spring Boot Mail 4.1.1: proporciona soporte para el envío de correo.

Las dependencias de integración mencionadas arriba están declaradas en el proyecto, pero no se han encontrado referencias a ellas en el código Java actual; por tanto, su presencia no implica que esas funcionalidades estén ya implementadas.

Herramientas de compilación

  • Spring Boot Maven Plugin 4.1.1: tareas de empaquetado y ejecución de la aplicación.
  • Maven Compiler Plugin 3.15.0: compilación Java y configuración de procesadores de anotaciones.
  • JaCoCo Maven Plugin 0.8.12: instrumenta los tests y genera el informe de cobertura.