ExchangeRateAPI-UI é uma aplicação web desenvolvida com React + Vite, permitindo ao usuário:
• Consultar taxas de câmbio em tempo real • Converter valores entre moedas • Visualizar uma lista das principais taxas disponíveis
O projeto consome a ExchangeRate-API usando fetch() e foi idealizado para treinar:
- Consumo de APIs REST
- Hooks essenciais (
useState,useEffect) - Componentização e organização de projeto
- Deploy em produção (Netlify)
- Trabalho em equipe com Git & GitHub
✔ Conversão de moedas (Base → Destino) ✔ Atualização automática das taxas ao trocar a moeda base ✔ Lista das 20 primeiras moedas retornadas pela API ✔ Tratamento de estados:
- 🔄 Loading
- ❗ Error
- ✅ Dados disponíveis
✔ Interface simples e direta ✔ Deploy online via Netlify
- React 18
- Vite
- JavaScript (ES6+)
- Fetch API
- CSS modularizado
- Netlify para deploy
- Git & GitHub para versionamento
ExchangeRateAPI-UI/
│
├─ exchangerateui-app/ ← App React criado com Vite
│ ├─ src/
│ │ ├─ components/
│ │ │ └─ CurrencyConverter.jsx ← Componente principal
│ │ ├─ utils/
│ │ │ └─ api.js ← Função para chamar a API
│ │ ├─ App.jsx ← Interface principal
│ │ ├─ main.jsx ← Entrada da aplicação
│ │ └─ styles/ ← CSS do projeto
│ │
│ ├─ public/ ← Ícones e assets
│ ├─ index.html
│ └─ package.json
│
└─ README.md
git clone https://github.com/Iclasth/ExchangeRateAPI-UI.git
cd ExchangeRateAPI-UI/exchangerateui-appnpm installnpm run devAbra no navegador:
http://localhost:5173
npm run buildA pasta dist/ será gerada, pronta para deploy.
Você pode fazer deploy de duas formas:
No Netlify:
- Add new site
- Import from GitHub
- Selecione o repositório
- Build command:
npm run build
- Publish directory:
exchangerateui-app/dist
- Deploy
- Execute:
npm run build
- Vá ao Netlify → Deploys → Deploy manual
- Envie a pasta dist/
• Base: BRL • Target: USD • Valor: 10
Resultado exibido:
10 BRL = 1.96 USD
A aplicação também mostra:
Taxa BRL → USD: 0.196023
E a lista das principais moedas, como:
USD — 0.19
EUR — 0.18
JPY — 28.14
...
- Hooks React para estados e ciclos de vida
- Componentes reutilizáveis
- Separação entre lógica de API e UI
- Tratamento de erros e loading
- CSS modularizado
- Vite para build rápido
- Git-flow com branches separadas para cada membro
- Dropdown de moedas em vez de input manual
- Gráficos de variação cambial
- Histórico de conversões
- Salvar conversões favoritas
- Testes unitários com Vitest
- Internacionalização (i18n)
- Faça um fork
- Crie sua branch:
git checkout -b feature/minha-feature- Commit com mensagens semânticas:
feat: nova conversão
fix: corrigindo estado de loading
- Abra um Pull Request
Projeto desenvolvido por Iclasth em colaboração com equipe acadêmica.
🔗 GitHub: https://github.com/Iclasth
🔗 LinkedIn: https://www.linkedin.com/in/iclasoliveira