Skip to content

ONE + Alura | Aplicação que converte uma quantia de uma moeda para outra por linha de comando, consumindo API de câmbio. Desafio obrigatório para a conclusão da "Formação Java e Orientação a Objetos".

Notifications You must be signed in to change notification settings

gabrielevarao/one-currency-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


ONE - Oracle Next Education | Alura

Currency Converter

Static Badge Static Badge Static Badge Static Badge

Projeto de conclusão da Formação Java e Orientação a Objetos. Nesta aplicação, o usuário informa uma quantia numa moeda e recebe o valor correspondente numa outra moeda de sua escolha.

🔄 Fluxo do usuário

↳ Digita o código da moeda a ser convertida (moeda base).
↳ Digita o código da moeda para a qual a quantia deve ser convertida (moeda destino).
↳ Digita a quantia a ser convertida.
↳ Escolhe se deseja fazer uma nova consulta ou não.

A qualquer momento o usuário pode solicitar a lista das moedas disponíveis ou sair da aplicação.

🚥 Validações

⚠️Código inválido

Caso o usuário insira um código inválido - formato errado ou código inexistente -, uma mensagem de erro aparece e o usuário tem a chance de inserir novamente um código. Esse ciclo somente se encerra quando um código válido é enviado ou quando o usuário digita "sair".

Para evitar problemas case-sensitive, todo código é previamente formatado para maiúsculas.

⚠️Formato de número inválido

Caso o usuário informe a quantia enviando um código alfanumérico ou quaisquer outras entradas que não correspondam a um número decimal, uma mensagem de erro é enviada e o usuário tem a chance de inserir novamente a quantia. Esse ciclo somente se encerra quando uma quantia válida é enviada ou quando o usuário digita "sair".

Para evitar problemas de formato de moeda - 100,00 ou 100.00, por exemplo -, os valores são previamente tratados para o formato correto.

🔗 Tecnologias utilizadas

  • APIs HexaRate API para obter a taxa de câmbio moeda-moeda (no key). Gist - gp187 para acessar a lista de moedas com base na norma ISO 4217.
  • Biblioteca Gson para a conversão JSON→Objeto Java.
  • Records para a transferência de dados.
  • Interface Type para viabilizar a desserialização de List<String>.
  • Interface funcional Predicate para estabelecer a regra da validação do código das moedas.
  • Stream para iterar a lista de códigos, efetivamente performando a validação com base no predicate.
  • Scanner para interação usuário-aplicação.

📚 Contexto

Este projeto é um dos desafios obrigatórios das formações do Programa ONE (Oracle Next Education) em parceria com a Alura.


About

ONE + Alura | Aplicação que converte uma quantia de uma moeda para outra por linha de comando, consumindo API de câmbio. Desafio obrigatório para a conclusão da "Formação Java e Orientação a Objetos".

Topics

Resources

Stars

Watchers

Forks

Languages