Utilizando Python y el framework FastAPI, se creó una Rest API que simula la conversión entre las monedas CLP, PEN o COP utilizando cryptomonedas de la API pública de Buda.
Se llevan a cabo conversiones utilizando la cryptomoneda como intercambio que otorga el mejor rate.
- Solo se reciben currencies en mayúscula.
- No se considera el minimum_order_amount.
- No se espera que exista un mercado directo CLP-PEN, CLP-COP u otra de las combinaciones de posibles monedas de origen y destino (CLP, PEN o COP)
- Se espera como máximo 1 intermediario.
- Python 3.9 o superior
- pip (gestor de paquetes de Python)
-
Crear y activar un entorno virtual:
python -m venv .venv # or python3 -m venv .venv source .venv/bin/activate
-
Instalar dependencias:
pip install -r requirements.txt
-
Ejecutar la aplicación:
fastapi dev app/main.py
La aplicación estará disponible en http://localhost:8000
Una vez que la aplicación esté en ejecución, puedes acceder a:
- Documentación Swagger UI:
http://localhost:8000/docs - Documentación ReDoc:
http://localhost:8000/redoc
Para ejecutar los tests del proyecto, asegúrate de que estás en el entorno virtual y que todas las dependencias están instaladas:
-
Verificar que estás en el entorno virtual:
# Deberías ver (.venv) al inicio de tu línea de comandos # Si no lo ves, activa el entorno virtual: source .venv/bin/activate
-
Ejecutar los tests:
pytest -v
NOTICE La REST API estará expuesta en http://0.0.0.0:8000 para probar su uso facilmente. Podrás entrar a http://localhost:8000/docs para probar la API desde los docs.
- Docker
-
Construir y ejecutar con Docker:
# Construir la imagen docker build -t conversor . # Ejecutar el contenedor docker run --name conversor-api -p 8000:8000 conversor
-
Ejecutar los tests:
docker run conversor pytest -v
La REST API estará disponible en http://localhost:8000