Este projeto realiza consultas de taxas de câmbio utilizando a API pública da ExchangeRate-API para obter informações de várias moedas, com base na lista configurada. Ele formata os dados, salva as informações em um arquivo CSV e fornece uma estrutura modular baseada na arquitetura em camadas.
O projeto segue uma arquitetura em camadas, o que facilita a manutenção e a escalabilidade do código. Abaixo está uma visão geral de como as camadas e módulos estão organizados:
meu_projeto/
│
├── config/
│ └── currency.py
│
├── data/
│ └── currency_api.py
│
├── domain/
│ └── coin_processor.py
│
├── infrastructure/
│ └── csv_writer.py
│
├── tests/
│ └── test_currency_api.py
│ └── test_coin_processor.py
│ └── test_csv_writer.py
│
├── requirements.txt
└── main.py
- config/currency.py: Lista das moedas a serem pesquisadas.
- data/currency_api.py: Realiza solicitação dos dados utilizando a API pública da ExchangeRate-API.
- domain/coin_processor.py: Processa e formata os dados para saída.
- infrastructure/csv_writer.py: Gera o arquivo CSV.
- tests/: Testes para os principais módulos.
git clone https://github.com/JeanVerissimo/api-cambio.git
cd repositoriopython -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windowspip install -r requirements.txtCrie um .env com sua chave da API:
CURRENCY_API_KEY=SuaChaveAqui
Execute o script principal:
python main.pyO script irá obter, processar e salvar os dados em formato csv.
Real,BRL,1,5.847572,14-04-2025
Dólar Americano,USD,0.171011,1,14-04-2025
Euro,EUR,0.150689,0.881168,14-04-2025
...
Para rodar os testes:
python -m unittest discover tests/Projeto sob licença MIT.