Uma API de conversão de moedas escrita em Go.
- golang@v1.18 ou mais recente
- docker-compose@v2.15.1
A aplicação permite o controle de moedas registradas pelo usuário. Moedas registradas representam quais resultados de conversão de moedas deverão ser entregues pela funcionalidade de conversão.
Com o Convercy, você pode fazer a conversão de quantidades de uma moeda específica para todos os tipos de moeda que você tiver registrado.
make start
docker-compose up
A especificação completa da API pode ser encontrada em docs/openapi.json. Esta especificação pode ser facilmente importada em ferramentas como o Postman ou o Insomnia.
Diagramas de sequência dos fluxos da aplicação podem ser encontrados no diretório docs/websequencediagrams.
make tests
go test -cover ./application/services/... ./domain/services/...
- Adicionar camada de cache para reduzir a quantidade de chamadas para a API de taxas de câmbio da OpenExchangeRates (https://openexchangerates.org)
- Adicionar camada de autenticação para controlar o gerenciamento de moedas registradas por client
- Adicionar pipeline de CI para testar alterações feitas na branch main, publicando imagens Docker atualizadas e criando novas releases automaticamente
- Adicionar pipeline de CI para testar alterações feitas em pull requests antes que elas sejam mergeadas na branch main