Challenge ONE - Proyecto para el desarrollo de un conversor de monedas utilizando Java y Spring Boot en el back-end.
Este proyecto es parte del Challenge ONE, en el que se desarrolla un servicio web RESTful que convierte montos entre diferentes monedas. El backend está implementado en Java utilizando el framework Spring Boot.
La aplicación permite a los usuarios realizar conversiones de divisas de manera sencilla y rápida a través de una API REST. Se incluyen funcionalidades como la conversión entre monedas predeterminadas y la consulta de tasas de cambio.
Las principales funcionalidades de la aplicación son las siguientes:
- Conversión entre monedas: Los usuarios pueden convertir una cantidad de una moneda a otra utilizando las tasas de cambio definidas.
- Obtener tasas de cambio: La API devuelve la tasa de cambio actual entre dos monedas seleccionadas.
- Soporte para monedas populares: El sistema está configurado para trabajar con monedas como el dólar (USD), euro (EUR), peso argentino (ARS), entre otras.
- Java: Lenguaje de programación utilizado para el desarrollo de la lógica del back-end.
- Spring Boot: Framework utilizado para crear la API RESTful de manera rápida y eficiente.
- RESTful API: El servicio está diseñado como una API REST que permite realizar operaciones de conversión de moneda.
- JUnit: Herramienta utilizada para realizar pruebas unitarias en el backend.
- Postman: Utilizado para probar las rutas de la API y verificar las respuestas.
A continuación se presenta el diagrama de arquitectura del sistema, que ilustra cómo se organizan los diferentes componentes:
Para ejecutar la aplicación, sigue estos pasos:
- Clonar el repositorio:
git clone https://github.com/tu-usuario/conversor-de-moneda.git
- Acceder al directorio del proyecto:
cd conversor-de-moneda
- Instalar las dependencias del proyecto:
mvn install
- Ejecutar la aplicación:
mvn spring-boot:run
- La API estará disponible en http://localhost:8080.
A continuación, se detallan los endpoints principales de la API:
Este endpoint permite convertir una cantidad de una moneda a otra.
GET /api/convert?from={moneda_origen}&to={moneda_destino}&amount={cantidad}
- from: Código de la moneda origen (ej. USD, EUR, ARS).
- to: Código de la moneda destino (ej. USD, EUR, ARS).
- amount: Cantidad a convertir.
GET http://localhost:8080/api/convert?from=USD&to=ARS&amount=100
{
"from": "USD",
"to": "ARS",
"amount": 100,
"convertedAmount": 10500.50,
"rate": 105.005
}
Este endpoint devuelve la tasa de cambio actual entre dos monedas.
GET /api/rate?from={moneda_origen}&to={moneda_destino}
GET http://localhost:8080/api/rate?from=USD&to=EUR
{
"from": "USD",
"to": "EUR",
"rate": 0.85
}
Se han incluido pruebas unitarias utilizando JUnit para verificar la funcionalidad de la API. Para ejecutar las pruebas, simplemente usa el siguiente comando:
mvn test
Si deseas contribuir a este proyecto, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama para la funcionalidad o corrección de bugs que deseas agregar (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz commits adecuados.
- Abre un pull request describiendo tus cambios.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.