Skip to content

Desafio do curso Go Expert | Clean Architecture | RestAPI, GrapQL, gRPC, RabbitMQ, EventHandler.

Notifications You must be signed in to change notification settings

luiscovelo/goexpert-clean-arch

Repository files navigation

Desafio Go Expert - Clean Architecture

Proposta

Olá devs!

Agora é a hora de botar a mão na massa. Pra este desafio, você precisará criar a listagem das orders.

Esta listagem precisa ser feita com:

  • Endpoint REST (GET /order)

  • Service ListOrders com GRPC

  • Query ListOrders GraphQL

Setup inicial

Clone o repositório com o comando abaixo:

git clone https://github.com/luiscovelo/goexpert-clean-arch.git

Entre no diretório do projeto:

cd goexpert-clean-arch

Execute o docker para subir a imagem do MySQL e do RabbitMQ:

docker-compose up -d

Após subir as imagens, vamos verificar o banco de dados está orders está criado:

docker exec -it mysql bash -c "mysql -u root -proot -D orders"

Caso não esteja criado, sera exibido no terminal a seguinte mensagem: Unknown database 'orders', portanto, execute o seguinte comando:

docker exec -it mysql bash -c "mysql -u root -proot"
CREATE DATABASE orders;

Com o banco de dados criados, vamos verificar se existe a tabela orders:

docker exec -it mysql bash -c "mysql -u root -proot -D orders"

Rode o camando abaixo verificar se existe:

select * from orders.orders;

Caso não, execute o comando abaixo:

CREATE TABLE orders (id varchar(255) NOT NULL, price float NOT NULL, tax float NOT NULL, final_price float NOT NULL, PRIMARY KEY (id));

Como rodar

No diretório do projeto, execute o comando abaixo para baixar as dependências:

go mod tidy

Agora iremos executar nossa aplicação:

cd cmd/ordersystem && go run main.go wire_gen.go

Caso ocorra tudo bem, os serviços estarão rodando nos endereços:

About

Desafio do curso Go Expert | Clean Architecture | RestAPI, GrapQL, gRPC, RabbitMQ, EventHandler.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages