Skip to content

JavaPowerGirls/SystemBankingSpringboot

Repository files navigation

Sistema Bancario - Microservicios

Equipo: Jessica Chanco, Karen Duran Villa, Tatiana Paucar


Índice


Entregable II - CustomerMs y AccountMs

Tecnologías: Spring Boot + MySQL + JPA/Hibernate + Java 11 (POO + Programación Funcional)

Microservicios

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

Endpoints

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

Entregable III - TransactionMs

Tecnologías: Spring Boot + Spring WebFlux + MongoDB + Lombok + Java 11 (Programación Reactiva)

Microservicio

TransactionMs (Puerto 8080)

  • Gestión de transacciones e historial
  • Base de datos: MongoDB
  • Programación reactiva con WebFlux
  • Ubicación: ./TransactionMs

Base de Datos MongoDB

Base de Datos MongoDB

Pruebas con Postman

Documentación: Link de documentación Postman

Endpoints

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

Entregable IV - Testing y Cobertura de Código

Tecnologías: JUnit 5 + Mockito + JaCoCo

Implementación de Testing

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.

Reportes de Cobertura JaCoCo

Los reportes muestran 100% de cobertura en las clases principales de lógica de negocio:

AccountMs - Cobertura de Código AccountMs JaCoCo Report

CustomerMs - Cobertura de Código CustomerMs JaCoCo Report

TransactionMs - Cobertura de Código TransactionMs JaCoCo Report


Diagramas de Arquitectura

Diagramas de Secuencia

Crear Cliente y Cuenta

Depósito

Retiro

Transferencia

Eliminar Cliente

Diagrama de Componentes

Arquitectura del Sistema

Diagrama General

Diagrama UML


Documentación OpenAPI

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.

Arquitectura del Sistema


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •