Conversor de Monedas es una aplicación de línea de comandos desarrollada en Java que permite realizar conversiones entre diferentes monedas en tiempo real utilizando una API de tipos de cambio. La aplicación ofrece una interfaz intuitiva y soporta conversiones entre Dólar estadounidense, Peso argentino, Real brasileño y Peso colombiano.
Este proyecto fue desarrollado como parte del programa "Backend en Java" de Alura, implementando las mejores prácticas de desarrollo y consumo de APIs.
- 🔄 Conversión en tiempo real - Utiliza tasas de cambio actualizadas
- 💰 Múltiples monedas - Soporte para USD, ARS, BRL y COP
- 🔐 Validación de API Key - Sistema de autenticación seguro
- 🎨 Interfaz de consola amigable - Menú interactivo y fácil de usar
- 📊 Precisión decimal - Resultados con formato apropiado según la moneda
- 🏗️ Arquitectura MVC - Código organizado siguiendo el patrón Modelo-Vista-Controlador
| Desde | Hacia | Código |
|---|---|---|
| 🇺🇸 Dólar | 🇦🇷 Peso Argentino | USD → ARS |
| 🇦🇷 Peso Argentino | 🇺🇸 Dólar | ARS → USD |
| 🇺🇸 Dólar | 🇧🇷 Real Brasileño | USD → BRL |
| 🇧🇷 Real Brasileño | 🇺🇸 Dólar | BRL → USD |
| 🇺🇸 Dólar | 🇨🇴 Peso Colombiano | USD → COP |
| 🇨🇴 Peso Colombiano | 🇺🇸 Dólar | COP → USD |
- Java 21 - Lenguaje de programación principal
- Maven - Gestión de dependencias y construcción del proyecto
- Gson - Serialización/deserialización de JSON para estructurar la respuesta de la API
- ExchangeRate API - Fuente de datos de tipos de cambio en tiempo real
Java-in-JSP/
├── src/
│ └── main/
│ └── java/
│ ├── controllers/
│ │ └── ControllerExchange.java # Controlador de lógica de conversión
│ ├── models/
│ │ ├── Connection.java # Gestión de conexiones API
│ │ └── Exchange.java # Modelo de datos de Exchange
│ └── org/example/
│ └── Main.java # Punto de entrada de la app
├── pom.xml
└── README.md
- Main.java - Punto de entrada de la aplicación con interfaz de usuario
- ControllerExchange.java - Controlador para manejar la lógica de conversión
- Exchange.java - Modelo de datos para las tasas de cambio con métodos de conversión
- Connection.java - Gestión de conexiones con la API externa
- ☕ Java JDK 21 o superior
- 📦 Maven 3.6 o superior
- 🔑 API Key de ExchangeRate-API
-
Clonar el repositorio
git clone https://github.com/TomasBozzano/Java-challenges.git cd Java-challenges -
Compilar el proyecto con Maven
mvn clean install
-
Ejecutar la aplicación
mvn exec:java -Dexec.mainClass="org.example.Main"
- Al iniciar la aplicación, se te solicitará ingresar tu API Key
- Si la key es válida, aparecerá el menú principal
- Selecciona la opción de conversión deseada (1-6)
- El programa mostrará el resultado de la conversión
- Selecciona la opción 7 para salir
Por favor, ingresa tu API key: tu_api_key_aqui
==============================
| Bienvenidos al conversor |
| de monedas |
==============================
| 1. Dolar -> Peso Argentino |
| 2. Peso Argentino -> Dolar |
| 3. Dolar -> Real Brasilero |
| 4. Real Brasilero -> Dolar |
| 5. Dolar -> Peso Colombiano|
| 6. Peso Colombiano -> Dolar|
| 7. Salir |
1
Has seleccionado Dolar -> Peso Argentino
1 Dolar equivale a 987.50 Pesos Argentinos
- Visita ExchangeRate-API
- Crea una cuenta gratuita
- Copia tu API Key
- Úsala al iniciar la aplicación
Nota de Seguridad: Por motivos de seguridad, la API key se solicita individualmente en la consola y no se almacena en el código fuente.
- ✅ Implementación exitosa de GSON para estructurar la respuesta de la API
- ✅ Arquitectura limpia siguiendo el patrón MVC
- ✅ Sistema de validación de API Key
- ✅ Manejo de errores y excepciones
- ✅ Interfaz de usuario intuitiva
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Tomas Bozzano
- GitHub: @TomasBozzano
- Proyecto: Java-challenges