Você sabia que é possível construir um conversor de moedas com JavaScript? Aprenda a criar um sistema capaz de fazer a conversão de moedas em tempo real!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Conversor de Moedas com JavaScript
Nesta aula, vamos construir juntos um conversor de moedas utilizando JavaScript e Node.js.
Vou te mostrar como buscar, implementar e utilizar uma API de taxas de câmbio. Com ela, você será capaz de desenvolver um sistema que faz conversão de moedas de forma automática e em tempo real.
Você vai ver como é simples e prático criar o seu próprio conversor de moedas! Então, faça o download do material disponível e vamos começar!
O que é uma API?
API (Application Programming Interface – Interface de Programação de Aplicações) é um conjunto de códigos, regras, protocolos e padrões que permitem a comunicação entre diferentes aplicações e sistemas.
Neste projeto, utilizaremos uma API para acessar os dados de conversão de moedas e aplicá-los ao nosso sistema.
Saiba mais: O que são APIs e WebAPIs – Diferenças e Importância
Obtendo uma Chave API – Exchange Rate API
Para acessar o serviço de algumas APIs, é necessário obter uma chave (API Key), que funciona como uma credencial exclusiva fornecida pelo serviço para que você possa utilizar suas funcionalidades.
No caso da Exchange Rate API, que utilizaremos neste projeto, você precisará de uma chave gratuita para autenticar as requisições e garantir o acesso aos dados e funcionalidades.
Para isso, basta acessar o site oficial da Exchange Rate e cadastrar o seu e-mail.
Feito o cadastro, você só precisará criar uma senha. Depois, receberá um e-mail com um link para ativar sua conta e obter sua chave de API.
Estrutura do Projeto
Nosso projeto será dividido em dois arquivos principais:
- apiKey: Arquivo onde armazenaremos a chave da API, permitindo sua reutilização sem a necessidade de incluí-la diretamente no código principal.
- conversor.mjs: Arquivo onde desenvolveremos o código principal do conversor de moedas.
Armazenar a chave da API em um arquivo separado é uma prática recomendada, especialmente quando se compartilha o projeto com outras pessoas. Dessa forma, você pode compartilhar apenas o arquivo do conversor sem expor sua chave.
Arquivo apiKey – Chave da API
No arquivo apiKey, vamos criar uma variável chamada apiKey, que armazenará a chave fornecida pela Exchange Rate. Usaremos o comando export para permitir o uso dessa variável no arquivo principal do projeto.
Obs.: A chave de API precisa ser colocada entre aspas.
const apiKey = 'sua_chave_api_aqui'; export default apiKey;
Trabalhando com argv no Node.js
O Node.js oferece uma funcionalidade chamada argv, que permite capturar os argumentos passados pelo terminal durante a execução de um programa.
Esses argumentos são armazenados em um array, que pode ser acessado dentro do código.
Podemos usar esse array para acessar os elementos fornecidos ao script durante a execução. Para exemplificar, vamos criar um script simples que exibe os dois primeiros elementos de argv.
Vamos criar um arquivo separado chamado argvNoJs.mjs para desenvolver esse exemplo.
Neste arquivo, importaremos argv a partir do módulo node:process e criaremos uma função que exibirá o conteúdo de argv[0] e argv[1] usando console.log.
import { argv } from "node:process"; function usandoArgv() { console.log(argv[0]); console.log(argv[1]); } usandoArgv();
Agora, podemos executar o script no terminal para visualizar os resultados. Para isso, use o seguinte comando:
node ./argvNoJs.mjs
Ao executar o script, você verá no terminal o caminho onde o Node.js está instalado e o caminho do arquivo que foi executado.
Isso acontece porque argv armazena cada argumento fornecido ao script em um array. O primeiro elemento (argv[0]) é o comando node e o segundo (argv[1]) é o caminho do arquivo.
Além desses dois elementos iniciais, argv pode armazenar múltiplos argumentos adicionais fornecidos na linha de comando. Vamos expandir o exemplo para incluir um terceiro argumento.
import { argv } from "node:process"; function usandoArgv() { console.log(argv[0]); console.log(argv[1]); console.log(argv[2]); } usandoArgv();
Agora, ao executar o script passando um terceiro argumento, como terceiroArgumento, você verá esse valor no terminal:
node ./argvNoJs.mjs terceiroArgumento
A saída mostrará o caminho do Node.js, o caminho do arquivo e o valor de terceiroArgumento.
Essa funcionalidade será extremamente útil, pois permitirá que o usuário insira os códigos das moedas específicas que ele deseja converter dentro do nosso programa.
Criando o Conversor de Moedas com JavaScript – Requisição para API
Agora que já compreendemos como funciona o argv, vamos construir nosso conversor de moedas com JavaScript!
Primeiro, importe a chave da API (armazenada no arquivo apiKey.mjs) e a funcionalidade argv do módulo node:process para capturar os códigos das moedas a serem convertidas.
import apiKey from "./apiKey.mjs"; import { argv } from "node:process";
Feito isso, vamos desenvolver a função converterMoedas(), que será responsável por realizar a chamada à API Exchange Rate e exibir a taxa de câmbio no terminal.
Como a função envolve uma requisição a uma API externa, o que pode demorar devido à resposta do servidor, ela será assíncrona (usando async).
Dentro dela, utilizaremos o método fetch para fazer a requisição à API de taxas de câmbio da ExchangeRate. Esse método recebe o endereço da API, que pode ser obtido através da documentação oficial.
A URL deve conter a chave da API e os dois códigos de moedas que serão passados via terminal.
Vamos relembrar: o primeiro elemento do argv é o caminho para o Node.js e o segundo é o caminho do script que estamos executando.
Portanto, os dois códigos de moedas que serão passados via terminal estarão nos índices argv[2] e argv[3], correspondendo à moeda base e à moeda para a qual desejamos converter, respectivamente.
Por exemplo, para obter a taxa de conversão do dólar americano (USD) para o euro (EUR), o comando será: node ./conversor.mjs USD EUR
Além disso, ao usar o fetch, incluímos a palavra-chave await para que o código aguarde a resposta da API antes de continuar. Isso garante que os dados necessários sejam recebidos e processados corretamente.
import apiKey from "./apiKey.mjs"; import { argv } from "node:process"; async function converterMoedas() { const resposta = await fetch( `https://v6.exchangerate-api.com/v6/${apiKey}/pair/${argv[2]}/${argv[3]}` );
Após receber a resposta da API, vamos convertê-la para o formato JSON. Isso permitirá o acesso e a manipulação dos dados retornados.
import apiKey from "./apiKey.mjs"; import { argv } from "node:process"; async function converterMoedas() { const resposta = await fetch( `https://v6.exchangerate-api.com/v6/${apiKey}/pair/${argv[2]}/${argv[3]}` ); const infoFinal = await resposta.json();
Com os dados no formato JSON, podemos acessar a taxa de conversão (infoFinal.conversion_rate).
Em seguida, formatamos o valor para mostrar apenas dois dígitos decimais, utilizando toFixed(2), e o exibimos no terminal usando console.log().
Com isso a função estará concluída e podemos adicionar uma chamada a ela no final do código.
import apiKey from "./apiKey.mjs"; import { argv } from "node:process"; async function converterMoedas() { const resposta = await fetch( `https://v6.exchangerate-api.com/v6/${apiKey}/pair/${argv[2]}/${argv[3]}` ); const infoFinal = await resposta.json(); console.log(infoFinal.conversion_rate.toFixed(2)); } converterMoedas();
Executando o Conversor de Moedas
Para executar o script, basta rodar o seguinte comando no terminal, passando os códigos das moedas que você deseja converter, com a moeda base primeiro e a moeda para conversão em seguida.
node ./conversor.mjs EUR BRL
Executando esse comando, você verá a taxa de conversão atual do Euro (EUR) para o Real (BRL).
Você pode fazer a conversão de diferentes moedas, basta consultar a documentação da API e verificar os códigos de moedas suportados.
Conclusão – Conversor de Moedas com JavaScript
Na aula de hoje, você aprendeu como construir um conversor de moedas com JavaScript do zero!
Com poucas linhas de código, desenvolvemos juntos um script prático e funcional que interage com uma API de conversão de moedas, recebe o código de duas moedas e apresenta a cotação em tempo real!
Além disso, exploramos o uso do argv no Node.js para capturar os argumentos passados pelo terminal, uma funcionalidade extremamente útil, não apenas para este projeto, mas também para outras aplicações que você possa desenvolver no futuro.
Por fim, este projeto é uma excelente oportunidade para praticar e aplicar seus conhecimentos sobre APIs, manipulação de dados assíncronos e uso de variáveis dinâmicas.
Se você quer aprender ainda mais e se tornar um profissional que domina o JavaScript, confira nosso Curso Completo JavaScript Impressionador.
Hashtag Treinamentos
Para acessar publicações de JavaScript, clique aqui!
Posts mais recentes de JavaScript
- Vue.js: o que é, como funciona, vantagens e como usarDescubra o que é Vue.js, suas vantagens e como começar a usar esse framework moderno para criar projetos incríveis. Aprenda agora!
- O que é arquivo JSON e como usá-lo na prática? [Guia completo]Descubra o que é um arquivo JSON, sua estrutura, vantagens e como usá-lo na prática. Aprenda a criar, abrir e aplicar JSON em seus projetos!
- Como criar gráficos com Chart.js e React – Passo a passoVamos aprender passo a passo como criar gráficos com Chart.js e React, desde a configuração até a integração com uma API de vendas.
Posts mais recentes da Hashtag Treinamentos
- 5 Boas Práticas de SQL para Iniciantes: Otimize Suas Consultas e Organize Seu CódigoSe você está começando com MySQL ou busca melhorar suas habilidades em SQL, este post traz cinco boas práticas de escrita de SQL para iniciantes.
- Função SE Excel: Exemplos e Dicas para Uso [Guia]A função SE Excel é muito útil para definir condições e criar uma planilha mais completa e funcional. Confira nesta aula!
- Exercícios de Listening em Inglês – Como Melhorar sua CompreensãoFaça estes exercícios de listening em inglês e melhore sua compreensão! Descubra técnicas e estratégias para praticar e evoluir no aprendizado do idioma!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.