Equipo: Jessica Chanco, Karen Duran Villa, Tatiana Paucar
- Entregable II - CustomerMs y AccountMs
- Entregable III - TransactionMs
- Entregable IV - Testing y Cobertura de Código
- Diagramas de Arquitectura
- Documentación OpenAPI
- Pruebas con Postman
Tecnologías: Spring Boot + MySQL + JPA/Hibernate + Java 11 (POO + Programación Funcional)
CustomerMs (Puerto 8081)
- CRUD de clientes
- Base de datos: MySQL
- Ubicación:
./CustomerMs
AccountMs (Puerto 8082)
- Gestión de cuentas bancarias
- Operaciones: depósito, retiro
- Base de datos: MySQL
- Ubicación:
./AccountMs
Método | Endpoint | Descripción |
---|---|---|
CustomerMs (8081) | ||
POST | /api/v1/clients | Crear cliente |
GET | /api/v1/clients | Listar clientes |
GET | /api/v1/clients/{id} | Obtener cliente |
PUT | /api/v1/clients/{id} | Actualizar cliente |
DELETE | /api/v1/clients/{id} | Eliminar cliente |
AccountMs (8082) | ||
POST | /api/v1/accounts | Crear cuenta |
GET | /api/v1/accounts | Listar cuentas |
GET | /api/v1/accounts/{accountNumber} | Obtener cuenta |
GET | /api/v1/accounts/clients/{clientId} | Cuentas por cliente |
PUT | /api/v1/accounts/{accountNumber}/deposit | Realizar depósito |
PUT | /api/v1/accounts/{accountNumber}/withdrawal | Realizar retiro |
DELETE | /api/v1/accounts/{id} | Eliminar cuenta |
Tecnologías: Spring Boot + Spring WebFlux + MongoDB + Lombok + Java 11 (Programación Reactiva)
TransactionMs (Puerto 8080)
- Gestión de transacciones e historial
- Base de datos: MongoDB
- Programación reactiva con WebFlux
- Ubicación:
./TransactionMs
Documentación: Link de documentación Postman
Método | Endpoint | Descripción |
---|---|---|
POST | /api/v1/transactions/accounts/{accountNumber}/deposit | Registrar depósito |
POST | /api/v1/transactions/accounts/{accountNumber}/withdrawal | Registrar retiro |
POST | /api/v1/transactions/accounts/transfer | Registrar transferencia |
GET | /api/v1/transactions | Todas las transacciones |
GET | /api/v1/transactions/accounts/{accountNumber}/history | Historial por cuenta |
Tecnologías: JUnit 5 + Mockito + JaCoCo
Se implementó una suite completa de pruebas unitarias para todos los microservicios, logrando 100% de cobertura de código en JaCoCo para controllers y services.
Los reportes muestran 100% de cobertura en las clases principales de lógica de negocio:
AccountMs - Cobertura de Código
CustomerMs - Cobertura de Código
TransactionMs - Cobertura de Código
Contract-First: Todas las APIs fueron diseñadas usando el enfoque contract-first, donde se define primero la especificación OpenAPI antes de implementar el código.