Skip to content

JeanVerissimo/api-cambio

Repository files navigation

Consulta de Taxas de Câmbio via API

🇬🇧 Read in English

Projeto de Consulta de Câmbio por API

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.

Arquitetura do Projeto

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:

Estrutura do Projeto

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

Descrição dos Módulos

  • 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.

Instalação

1. Clone o repositório

git clone https://github.com/JeanVerissimo/api-cambio.git
cd repositorio

2. Crie e ative um ambiente virtual

python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate   # Windows

3. Instale as dependências

pip install -r requirements.txt

4. Configure o arquivo .env

Crie um .env com sua chave da API:

CURRENCY_API_KEY=SuaChaveAqui

Uso

Execute o script principal:

python main.py

O script irá obter, processar e salvar os dados em formato csv.

Exemplo de saída

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
...

Testes

Para rodar os testes:

python -m unittest discover tests/

Licença

Projeto sob licença MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages