¡Bienvenido(a) al Challenge del Conversor de Monedas! 🚀
Este proyecto es una aplicación de consola desarrollada en Java que permite realizar conversiones de divisas en tiempo real utilizando la API de ExchangeRate-API. Aquí se aplican conocimientos de:
- Consumo de APIs (HttpClient, HttpRequest).
- Manipulación de datos JSON (Gson).
- Programación Orientada a Objetos (POO).
- Manejo de estructuras de datos (ArrayList y List) para el historial
- Registro dinámico de operaciones y manejo de tiempos (LocalDateTime).
Un robusto conversor de divisas de consola que consume la API de ExchangeRate en tiempo real. Desarrollado como parte del desafío Back End Java, Orientado a objetos de Alura Latam (Oracle Next Education).
El sistema ofrece una interfaz de consola interactiva, limpia y resistente a errores.
====================================================
| CONVERSOR DE MONEDAS |
====================================================
1) USD [Dolar] >>> ARS [Peso Argentino]
2) ARS [Peso Argentino] >>> USD [Dolar]
...
7) Personalizado (Ej: EUR, MXN, JPY)
8) Ver Historial Completo
0) Salir
====================================================
>> Seleccione una opcion:
95
Opción no válida
Cada operación genera un comprobante detallado con fecha y hora exacta:
====================================================
| RESULTADO DE CONVERSION |
====================================================
Moneda Origen: [GBP]
Moneda Destino: [EUR]
Tasa de Cambio: 1,1453
----------------------------------------------------
Monto ingresado: 500,00 GBP
VALOR FINAL: 572,65 EUR
Fecha: 19/02/2026 09:50:26
====================================================
El sistema almacena todas las operaciones realizadas durante la ejecución:
|||||||||||||||||||||||||||||||||||||||||||||||||||||
----------HISTORIAL DE CONVERSIONES.-----------------
|||||||||||||||||||||||||||||||||||||||||||||||||||||
[Ticket 1: USD -> ARS]
[Ticket 2: ARS -> USD]
||||||||||||||||||||||||||||||||||||||||||||||||||||||
---------------FIN HISTORIAL DE CONVERSIONES----------
||||||||||||||||||||||||||||||||||||||||||||||||||||||
El sistema sigue el patrón de diseño orientado a objetos, separando responsabilidades:
classDiagram
Principal --> ConsultaMonedas
Principal --> HistorialDeConversiones
Principal ..> Conversion : Crea
Conversion --|> Moneda : Extends
HistorialDeConversiones o-- Conversion : List~Conversion~
ConsultaMonedas ..> MonedaDTO : Usa
ConsultaMonedas ..> Moneda : Retorna
class Principal {
+main()
}
class Moneda {
-String codigo
-double tasa
}
class Conversion {
-double cantidad
-LocalDateTime fecha
+calcular()
}
- Principal: Controla el flujo del programa y la interacción con el usuario.
- ConsultaMonedas: Se conecta a la API y obtiene los datos crudos.
- Conversion: Realiza los cálculos matemáticos y gestiona la fecha.
- HistorialDeConversiones: Almacena una lista de conversiones en memoria.
Este proyecto fue construido utilizando Java 17(LTS):
- Lenguaje: Java JDK 17 (LTS).
- API Cliente:
java.net.http.HttpClient(Nativo de Java 11+). - Manejo de JSON: Google Gson (Versión 2.10.1 o superior).
- IDE Recomendado: IntelliJ IDEA / Eclipse.
- API de Tasas: ExchangeRate-API.
-
Clonar el repositorio:
git clone https://github.com/TU-USUARIO/conversor-monedas.git
-
Importar el proyecto:
- Abre IntelliJ IDEA.
- Selecciona
File > Openy busca la carpeta del proyecto.
-
Configurar Dependencias (Gson):
- Este proyecto utiliza la librería Gson.
- Descarga el
.jardesde Maven Repository o puede añadir La librería Gson 2.13.2 que ya está incluida en la carpeta /Lib del proyecto. - En IntelliJ:
File > Project Structure > Libraries. Añade el.jar.
-
Configurar la API Key (Seguridad):
- Obtén tu clave en ExchangeRate-API.
- En IntelliJ IDEA:
- Ve al menú superior Run > Edit Configurations....
- Selecciona la clase Principal en el panel izquierdo.
- Localiza el campo Environment variables y haz clic en el icono del documento (extremo derecho).
- En la ventana "Environment Variables", haz clic en el símbolo + (Add).
- Define la variable:
- Name:
EXCHANGE_RATE_KEY - Value:
tu_clave_aqui
- Name:
- Haz clic en OK en ambas ventanas para guardar.
-
Ejecutar el programa:
- Abre la clase
Principal.javay presiona Run.
- Abre la clase
|
Carlos Fabian Mesa Muñoz |
©️ Hecho con ❤️ por Carlos Fabian Mesa Muñoz 😊