Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code Challenge - Luis Medina (Hexagonal Architecture - Spring Boot - Kafka - GraphQL) #3

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

luismebo
Copy link

@luismebo luismebo commented Jun 2, 2024

Estimados

Todo el código se encuentra en la carpeta "microservices"
Encontrar el file "Readme.md" para su lectura /microservices/Readme.md

Microservicios:

  1. transaction-bff: Backend for FrontEnd, usando GraphQL.
  2. transaction-ms: Creación, actualización y consulta de transacciones.
    Envía peticiones asíncronas hacia el microservicio antifraud-ms(Evaluación de la transacción), mediante Apache Kafka
    Recibe peticiones asíncronas con el estado final de la transacción, mediante Apache Kafka
  3. antifraud-ms: Analiza la transacción recibida y setea el correcto estado de ella.

Patrón usado:

CQRS (Command Query Responsibility Segregation): Para las consultas y actualizaciones

Estructura de paquetes

Todos los microservicios siguen el siguiente estandard, aplicando el patrón de diseño: Arquitectura Hexagonal

paquetes

Diagrama de secuencia

retobcpsequence drawio

Agilizar rapidez en el registro de transacciones

Se utiliza Spring Cache para el guardado temporal de las transacciones. (utilizado en el proceso de registros)

Ejecución de peticiones GraphQL

1 Creación transaction para APPROVED
register_approved

Revisión en BD con el registro APPROVED
bd-appoved

2 Creación transaction con un valor a REJECTED
register_rejected

Revisión en BD con el registro REJECTED
bd_rejected

3 Consulta de transaction según code:
5 consulta-appoved

4 Consulta de transaction inexistente
6 consulta-not-found

5 Consulta de todas las transacciones
7 consulta getAllTransactions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant