Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dionizio8/goexpert-clean-arch
example of a project with clean architecture.
https://github.com/dionizio8/goexpert-clean-arch
golang graphql grpc rabbitmq
Last synced: about 2 months ago
JSON representation
example of a project with clean architecture.
- Host: GitHub
- URL: https://github.com/dionizio8/goexpert-clean-arch
- Owner: Dionizio8
- Created: 2024-07-06T15:09:07.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-10T15:02:25.000Z (7 months ago)
- Last Synced: 2024-07-11T05:56:26.535Z (7 months ago)
- Topics: golang, graphql, grpc, rabbitmq
- Language: Go
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Módulo: Clean Arch *[go-expert]*
## Descrição
Criar o usecase de listagem das orders.
Esta listagem precisa ser feita com:
- Endpoint REST (GET /order)
- Service ListOrders com GRPC
- Query ListOrders GraphQL
Não esqueça de criar as migrações necessárias e o arquivo api.http com a request para criar e listar as orders.Para a criação do banco de dados, utilize o Docker (Dockerfile / docker-compose.yaml), com isso ao rodar o comando docker compose up tudo deverá subir, preparando o banco de dados.
Inclua um README.md com os passos a serem executados no desafio e a porta em que a aplicação deverá responder em cada serviço.## Como executar
*Será necessário criar a fila **orders** no RabbitMQ para realizar os testes local.*### Configurando
1. Inicializando **Mysql** & **RabbitMQ** com *docker-compose*
```bash
docker-compose up -d
```2. No [RabbitMQ](http://localhost:15672/]) criar em **Queues and Streams** a fila com nome *orders* e o Binding *amq.direct*
### Start aplicação
```bash
cd cmd/ordersystem
```
```bash
go run main.go wire_gen.go
```
```
Starting web server on port :8000
Starting gRPC server on port 50051
Starting GraphQL server on port 8080
```