BrasilAPI / BrasilAPI

Vamos transformar o Brasil em uma API?

Home Page:https://brasilapi.com.br

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

adicionar conversor de moedas para BrasilAPI?

opened this issue · comments

Olá, pessoas. Seria possível adicionar um conversor de moedas para o BrasilAPI?

Uma ideia geral que tive seria +- como o código abaixo:

const Converter = () => {
    const getInputValue = parseFloat(document.querySelector("#input-num").value);
    const selected = document.querySelector("#selected").value;
    const selectedOutput = document.querySelector("#selected-coin").value;
  
    const Conversoes = () => {
      if (selected === 'brl' && selectedOutput === 'usd') {
        return getInputValue * 0.19;
      } else if (selected === 'brl' && selectedOutput === 'eur') {
        return getInputValue * 0.16;
      } else if (selected === 'usd' && selectedOutput === 'brl') {
        return getInputValue * 5.26;
      } else if (selected === 'usd' && selectedOutput === 'eur') {
        return getInputValue * 0.85;
      } else if (selected === 'eur' && selectedOutput === 'brl') {
        return getInputValue * 6.21;
      } else if (selected === 'eur' && selectedOutput === 'usd') {
        return getInputValue * 1.18;
      } else {
        return 'Please try a valid number!'
      }
    }
    document.querySelector("#output-num").value = Conversoes().toFixed(2);
  }

fluxo de usuário

  • O usuário acessa o BrasilAPI e consulta os diferentes tipos de moeda, ao verificar os tipos de moeda, ele faz solicitações para converter determinados valores.

Um exemplo de get/post:

[
  {
    "money": 0.19,
    "value": ["brl", "usd"]
    "result": "brl*0.19"
  },
  {
    "money": 0.19,
    "value": ["brl", "usd"]
    "result": "brl*0.19"
  },
]

motivo?

  • existe uma área de "taxas" na api BrasilAPI, faria sentido adicionar a conversão das moedas como um tipo de taxa? no caso da pessoa querer saber o valor de corretagem ou peso das moedas em diferentes países?

"api"

const express = require('express');
const app = express();

app.use(express.json());

app.post('/converter', (req, res) => {
    const getInputValue = parseFloat(req.body.inputValue);
    const selected = req.body.selected;
    const selectedOutput = req.body.selectedOutput;

    const convert = () => {
        if (selected === 'brl' && selectedOutput === 'usd') {
            return getInputValue * 0.19;
        } else if (selected === 'brl' && selectedOutput === 'eur') {
            return getInputValue * 0.16;
        } else if (selected === 'usd' && selectedOutput === 'brl') {
            return getInputValue * 5.26;
        } else if (selected === 'usd' && selectedOutput === 'eur') {
            return getInputValue * 0.85;
        } else if (selected === 'eur' && selectedOutput === 'brl') {
            return getInputValue * 6.21;
        } else if (selected === 'eur' && selectedOutput === 'usd') {
            return getInputValue * 1.18;
        } else {
            return 'Please try a valid number!'
        }
    }

    res.json({ result: convert().toFixed(2) });
});

app.listen(3000, () => {
    console.log('Server started on port 3000');
});