test back para QUIND es una aplicación Spring Boot desarrollada para guardar los datos de transferencias atraves de una API REST.
- Spring Boot 3.2.1: Framework para facilitar la configuración y despliegue.
- Java 17: Versión del lenguaje de programación.
- Postgresql: Base de datos relacional para almacenar los resultados de las operaciones.
- Swagger UI: Interfaz de usuario para interactuar fácilmente con la API.
- Arquitectura Hexagonal: Utilizada para separar las preocupaciones en capas claramente definidas, facilitando la escalabilidad y mantenimiento.
- Desarrollo Guiado por el Dominio (DDD): Empleando un enfoque centrado en el dominio para mejorar la claridad y la lógica del negocio.
- Principios SOLID: Seguidos para promover un diseño de software orientado a objetos limpio y mantenible.
- Java 17
- Clonar el repositorio.
- Ejecutar el proyecto utilizando el comando Gradle:
./gradlew bootRun
La aplicación expone dos endpoints principales:
-
POST /api/v1/client: Guardar cliente.
- Cuerpo de la petición: JSON con los campos del cliente.
- Respuesta: JSON con el resultado.
-
DELETE /api/v1/client/:idCliente: Eliminar cliente.
- Respuesta: JSON con el resultado.
-
POST /api/v1/account: Guardar cuenta.
- Cuerpo de la petición: JSON con los campos de la cuenta.
- Respuesta: JSON con el resultado.
-
PUT /api/v1/account: Actualizar cuenta.
- Cuerpo de la petición: JSON con los campos de la cuenta.
- Respuesta: JSON con el resultado.
-
DELETE /api/v1/account/:idAccount: Eliminar cuenta.
- Respuesta: JSON con el resultado.
La documentación detallada de la API y los esquemas de solicitud y respuesta están disponibles a través de la interfaz de Swagger.
Las pruebas unitarias se pueden ejecutar mediante el comando:
- Ejecuón de pruebas:
./gradlew test
./gradlew test
- *cree primero la base datos AccountsDB:
CREATE DATABASE "AccountsDB" WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'en_US.utf8' LOCALE_PROVIDER = 'libc' TABLESPACE = pg_default CONNECTION LIMIT = -1 IS_TEMPLATE = False;