Skip to content

MrCopixt0/Challenge---Currency-Converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conversor de Monedas en Java

Este proyecto es un conversor de monedas desarrollado en Java que consume una API externa para obtener tasas de cambio actualizadas en tiempo real. El programa permite seleccionar una moneda base, ingresar un monto y convertirlo a diferentes monedas destino, registrando cada conversión en un historial.

El objetivo principal del proyecto es poner en práctica conceptos fundamentales de Java, como consumo de APIs, manejo de excepciones, entrada de datos por consola y programación orientada a objetos.

Funcionalidades

Selección de moneda base (ejemplo: USD, EUR, BRL).

Consumo de una API de tipo REST para obtener tasas de cambio actualizadas.

Conversión de un monto a distintas monedas destino.

Menú de opciones para elegir la moneda de conversión.

Registro de cada conversión realizada en un historial.

Visualización del historial de conversiones al finalizar la ejecución.

Manejo de errores para evitar que el programa se rompa ante entradas inválidas.

Tecnologías y herramientas utilizadas

Java

API Exchangerate

Gson (para el parseo de JSON)

HttpClient (java.net.http) para las solicitudes HTTP

Scanner para la entrada de datos por consola

Conceptos aplicados

Consumo de APIs REST desde Java.

Parseo de respuestas JSON utilizando Gson.

Programación orientada a objetos mediante la clase Conversion.

Uso de colecciones (ArrayList) para almacenar el historial de conversiones.

Manejo de excepciones con try-catch para errores de:

Entrada de datos incorrecta (cuando el usuario ingresa texto en lugar de números).

Problemas de conexión con la API.

Errores inesperados en tiempo de ejecución.

Uso de estructuras de control como switch para la selección de opciones.

Estructura del proyecto

Principal Clase principal encargada de:

La interacción con el usuario.

La conexión con la API.

El flujo general del programa.

Conversion Clase modelo que representa una conversión individual, almacenando:

Moneda base.

Moneda destino.

Monto original.

Resultado de la conversión.

Consideraciones importantes

Es necesario añadir la librería Gson al proyecto para que el parseo del JSON funcione correctamente.

Se debe reemplazar la API KEY por una clave válida propia.

Actualmente, el programa funciona en una única sesión de conversión (mejora prevista para futuras versiones).

Posibles mejoras futuras (v2)

Implementar un bucle para permitir múltiples conversiones en una sola ejecución.

Separar la lógica del programa en diferentes clases (API, lógica de conversión, interfaz).

Permitir cambiar la moneda base sin reiniciar el programa.

Guardar el historial de conversiones en un archivo JSON.

Ampliar la lista de monedas disponibles dinámicamente desde la API.

Autor

  • Anderson Collazos (MrCopixt0)

Proyecto desarrollado como parte de un challenge de Java, con mejoras adicionales orientadas al aprendizaje práctico y al fortalecimiento de fundamentos en backend.

About

Challenge proposed by the institution that educates me in the current time period

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages