Cada microservicio se ha construido siguiendo el patrón de diseño "Arquitectura Hexagonal"
- transaction-bff: Backend for FrontEnd, usando GraphQL.
- 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
- antifraud-ms: Analiza la transacción recibida y setea el correcto estado de la ella.
Seguir los siguientes pasos.
- Situarse en el file \app-java-codechallenge\docker-compose.yml y ejectuar: docker compose up
- Crear Base de datos: yapebd
- Ejecutar el siguiente script sql: app-java-codechallenge\script-bd script-create_table.sql
- Crear los siguientes tópicos:
- kafka-console-producer --broker-list localhost:9092 --topic topic-transaction-update
- kafka-console-producer --broker-list localhost:9092 --topic topic-antifraud-review
- Ejecutar los microservicios:
- transaction-ms
- antifraud-ms
- transaction-bff
- Abrir navegador y escribir: http://localhost:8090/graphiql?path=/graphql
- Existen dos llamados de recursos:
- (Mutation) register: Proceso de registro y evaluación de transacciones
- (Query) getTransactionByCode: Busca el transaction según el code
- (Query) getAllTransactions: Consigue todas las transacciones
- En el PR se adjuntan pantallas de peticiones y resultados esperados