Este projeto é um conversor de moedas desenvolvido em Java 22, utilizando GSON para leitura de JSON, consumo de API HTTP e programação orientada a objetos. A aplicação permite ao usuário realizar conversões entre moedas, consultar um histórico salvo em arquivo .txt, e repetir a operação conforme sua escolha.
- ✅ Menu com opções de conversão (USD, BRL, EUR, JPY)
- ✅ Consumo da ExchangeRate API
- ✅ Registro de histórico em arquivo
.txt - ✅ Estrutura orientada a objetos, com separação por camadas
- ✅ Suporte a múltiplas conversões com laço interativo
ConversorDeMoedas/
├── historico_conversoes.txt # Arquivo de log gerado automaticamente
└── src/
├── Main.java # Classe principal (ponto de entrada)
├── model/
│ └── ExchangeResponse.java # Modelo para mapear JSON da API
├── service/
│ ├── CurrencyConverter.java # Lógica de conversão usando a API
│ └── Log.java # Registro e leitura do histórico
└── util/
└── Menu.java # Interface textual com o usuáriograph TD
A[Main.java] --> B[Menu.java]
A --> C[CurrencyConverter.java]
A --> D[Log.java]
C --> E[ExchangeResponse.java]
D --> F[historico_conversoes.txt]
subgraph util
B
end
subgraph service
C
D
end
subgraph model
E
end
💡 Visualização:
Mainorquestra todas as interações, usandoMenupara entrada do usuário,CurrencyConverterpara chamar a API,Logpara gravar e ler histórico, eExchangeResponsepara mapear o JSON retornado.
| Classe | Localização | Função |
|---|---|---|
Main |
/src |
Ponto de entrada do programa. Controla o fluxo principal. |
Menu |
/src/util |
Exibe o menu, recebe entrada do usuário e interpreta escolhas. |
CurrencyConverter |
/src/service |
Conecta à API de câmbio, lê a taxa e realiza cálculo da conversão. |
Log |
/src/service |
Registra conversões com data/hora e exibe histórico gravado. |
ExchangeResponse |
/src/model |
Representa a resposta da API (GSON usa para converter JSON). |
- ExchangeRate API
- Endpoint:
https://v6.exchangerate-api.com/v6/{API_KEY}/latest/{base_code} - Exemplo com chave:
https://v6.exchangerate-api.com/v6/d84574b3382cddf9f67ae33d/latest/USD
[2025-06-03 14:22:10] 100.00 USD -> 535.20 BRL
[2025-06-03 14:30:42] 50.00 BRL -> 9.18 USD-
Clone o repositório:
git clone https://github.com/seu-usuario/ConversorDeMoedas.git
-
Abra no IntelliJ IDEA ou outro ambiente compatível com Java 22.
-
Adicione o
.jarda biblioteca GSON ao classpath do projeto. -
Execute a classe
Main.java.
- Permitir entrada de qualquer código de moeda (sem menu fixo).
- Exportar histórico para
.csvou banco de dados. - Interface gráfica (Swing/JavaFX).
- Uso de padrões de projeto (Strategy, Singleton etc).
Desenvolvido com fins educacionais para prática de Java Backend com foco em POO, consumo de APIs e persistência de dados local.
Este projeto é livre para uso educacional. Modifique, melhore e compartilhe como quiser. 🚀