![Architecture Architecture](https://raw.githubusercontent.com/carlaulloa/microservices-graphql/master/./resources/Architecture.png)
docker compose -f ./deploy/compose/docker-compose.yml up
1 Querys, Mutation y Subscription
Q1: Listar cuentas por tipo y número de documento
query {
accounts(data: { documentType: DNI, documentNumber: "11111111" }) {
id
number
currency
amount
}
}
Q2: Listar cuentas + transacciones por tipo y número de documento
query {
accounts(data: { documentType: DNI, documentNumber: "11111111" }) {
id
number
currency
amount
transactions {
id
type
amount
amount
}
}
}
Q3: Listar clientes, con cuentas y movimientos
query {
customers {
id
name
accounts {
id
number
transactions {
id
type
amount
}
}
}
}
M1: Mutation - Crear cliente
mutation {
createCustomer(
data: {
name: "Juan1"
lastName: "Perez"
createAt: "2021-06-30"
documentType: DNI
documentNumber: "12345678"
}
) {
name
id
lastName
documentType
}
}
S1: Subcription - Crear cliente
subscription {
customerChanged {
id
name
lastName
}
}
Nombre |
Descripción |
ms-config |
Configuration server |
ms-accounts |
Microservicer accounts |
ms-customers |
Microservicer customers |
ms-graphql |
GraphQL - Apollo Server |
Microservice |
Descripción |
Endpoint |
Accounts |
Listar cuentas de un cliente |
GET /accounts?type=DNI&number=11111111 |
Accounts |
Listar transacciones por cuenta |
GET accounts/<accountId>/transactions |
Customers |
Listar clientes |
GET /customers |
Customers |
Listar clientes |
GET /customers/DNI/11111112 |
DocumentType |
DocumentNumber |
LastName |
FirstName |
DNI |
11111111 |
Messi |
Lionel |
DNI |
11111112 |
Ronaldo |
Cristiano |
DNI |
11111113 |
Emape |
Gillian |
DocumentType |
DocumentNumber |
Número |
Moneda |
DNI |
11111111 |
100000001 |
1001 |
DNI |
11111111 |
100000002 |
1000 |
DNI |
11111112 |
100000003 |
1001 |
DNI |
11111113 |
100000004 |
1001 |
https://github.com/mzegarras/ms-configuration
- Authorization server
- Validación de cors
- JWT