Desafio de clean-architecture full cycle.
1- Subir o docker-compose:
docker-compose up -d
2- Executar o migrate up através do Makefile para gerar a tabela.
make migrateup
3- Inicializar o serviço:
cd cmd/ordersystem
go run main.go wire_gen.go
4- Realizar request para adicionar um dado:
Web:
- Utilizar os arquivos
api/create_order.http
eapi/get_order.http
.
GraphQL:
mutation createOrder {
createOrder(input: {id:"EEEE", Price: 99.0, Tax: 11}){
id
Price
Tax
FinalPrice
}
}
query queryOrders {
listOrders {
id
Price
Tax
FinalPrice
}
}
gRPC:
evans --proto internal/infra/grpc/protofiles/order.proto --host localhost --port 50051
=> call CreateOrder
=> 2
=> 10.5
=> 0.5
=> call ListOrders
5- Para comprovar que tudo funcionou com o esperado, abrir o terminal interativo dentro do contêiner do serviço mysql:
docker-compose exec mysql bash
6- Acessar o MySQL e digitar a senha do banco:
mysql -uroot -p orders