Este projeto é um exemplo de como usar RabbitMQ e Go para processar taxas de câmbio.
O projeto consiste em três partes principais:
-
Server (API): Uma API Go que recebe solicitações para buscar taxas de câmbio.
-
Sender (Sender): Envia solicitações de taxas de câmbio para um servidor RabbitMQ.
-
Worker (Worker): Um worker Go que consome mensagens do RabbitMQ, busca as taxas de câmbio e envia os resultados de volta para a API.
Antes de executar o projeto, é necessário criar uma conta gratuita no CurrencyFreaks para ter acesso a uma chave de acesso a API deles.
Crie um arquivo .env na pasta api com o seguinte conteúdo:
API_KEY=YOUR_API_KEY
-
Inicie o RabbitMQ:
# latest RabbitMQ 3.12 docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management
-
Inicie o Worker:
go run ./workers/worker.go
-
Inicie o servidor:
go run ./api/server.go
Faça uma solicitação GET para a API na seguinte URL:
http://localhost:8080/latest?currency=USD
Substitua USD pela moeda desejada.
Sinta-se à vontade para contribuir para este projeto. Basta abrir uma issue ou enviar um pull request.
Licença
Este projeto está licenciado sob a MIT License.