Conversor de Moneda — Aplicación React
Conversor de Moneda es una aplicación web creada con React y TailwindCSS, que convierte divisas en tiempo real utilizando una API pública. Este proyecto demuestra integración de APIs externas, control de estado con hooks y diseño limpio enfocado en la experiencia del usuario.
Ver proyecto en vivoObjetivo del proyecto
Desarrollar un sistema de conversión de divisas funcional y elegante, implementando dos variantes: un conversor clásico (controlado por botón) y un conversor inteligente (actualización automática en tiempo real).
Tecnologías y herramientas
- React + Vite — configuración moderna y modular del entorno.
- TailwindCSS v3 — maquetado responsivo basado en utilidades.
- Lucide Icons — iconografía SVG ligera y personalizable.
- Fetch API — consumo de datos en tiempo real desde
open.er-api.com. - JavaScript ES6+ — uso de funciones flecha, desestructuración y async/await.
Estructura del proyecto
src/
├── components/
│ ├── Converter.jsx // Conversor clásico (botón)
│ ├── SmartConverter.jsx // Conversor inteligente (tiempo real)
├── App.jsx
├── main.jsx
└── index.css
Principales funcionalidades
- Conversión precisa entre múltiples divisas (USD, MXN, EUR, GBP, JPY, CAD).
- Selección dinámica de monedas con íconos SVG personalizados.
- Diseño minimalista con componentes centrados y sombras suaves.
- Versión “Smart Converter” que se actualiza automáticamente al cambiar el valor o moneda.
- Indicador visual de carga y manejo de errores API.
Diseño e interfaz
Se mantiene coherencia visual con el resto del portafolio: fondos claros, tarjetas blancas con bordes suaves, botones redondeados y tipografía Figtree. Los íconos están integrados en círculos suaves para reforzar una estética limpia y moderna.
Resultados y aprendizajes
Este proyecto consolidó el entendimiento de:
- Integración de APIs externas en React mediante Fetch y async/await.
- Uso de
useEffectyuseStatepara manejar dependencias dinámicas. - Optimización del flujo de datos para evitar sobrecarga en llamadas.
- Diseño centrado en la experiencia de usuario (UX minimalista y funcional).