Currency exchange API. Es una RESTful API que tiene como principales funcionalidades: consultar tipos de cambio y cambiar una divisa. fue creada en el ecosistema de Python:
Currency exchange API usa varias tecnologías open source para que el proyecto funcione correctamente:
- [Python3]
- [Django3]
- [Django rest framework]
- [Postgresql]
- [Docker]
- [Git]
- [drf-yasg]
Currency exchange API requiere que tengas instalado Python3 y Composer.
¿Quieres contribuir o probar? Genial!
Abre tu terminal favorita y escribe estos comandos.
Clona:
git clone https://github.com/jblanquicett92/currency_app.git
o descarga y descomprime
Primer Tab:
docker-compose build
Segundo Tab
docker-compose up
Cuando el software ya se encuentre desplegado podrás ver la documentación swagger
http://127.0.0.1:8000/swagger/
Sigue las instrucciones atentamente para poder consumir los servicios de los endpoints
POST: http://127.0.0.1:8000/api/v1/setup/
{
"generate": false
}
- POST: Cambiar valor a true para crear monedas automáticamente,
- ATENCIÓN: No mandar dos veces el request, porque se van a crear monedas duplicadas
http://127.0.0.1:8000/api/v1/currencies/{id}
- GET: Recibimos del endpoint un listado JSON con objetos tipo Currency
- GET: Consultamos al endpoint un objeto JSON tipo Currency
- POST: Enviamos al endpoint un request con el body en formato JSON
{
"name": "COP",
"exchange": 0.00023,
"fee_percentage": 1.002,
"quantity": 1000
}
http://127.0.0.1:8000/api/v1/check_exchange_rate/{base}/{quote}
- GET: Recibimos del endpoint un objeto tipo JSON con información de la consulta del tipo de cambio
{
"result": "success",
"documentation": "http://127.0.0.1:8000/swagger/",
"current_time": "2021-07-20T07:50:29.404788",
"base": "CAD",
"quote": "EUR",
"conversion_rate": 0.661,
"fee_cost": 0.0343
}
http://127.0.0.1:8000/api/v1/change_currency/
- POST: Enviamos al endpoint un request con el body en formato JSON, con la siguiente estructura
{
"base":"cad",
"quote":"gbp",
"money_request":3
}
- RESPONSE: El endpoint en caso de que la moneda de cotización tenga capacidad de ser cambiada respondera asi:
{
"result": "success",
"documentation": "http://127.0.0.1:8000/swagger/",
"date_transaction": "2021-07-20T07:53:51.287029",
"money_request": 3.0,
"base_currency": "CAD",
"base_new_quantity": 574.582,
"quote_currency": "GBP",
"quote_new_quantity": 1023.958,
"fee_amount": "0.0681 CAD",
"base_request": "3.0 CAD",
"conversion_rate": "1.10 GBP"
}
- Ó
{
"result": "cant fulfill request"
}
http://127.0.0.1:8000/api/v1/track_fee/
- GET: Recibimos del endpoint listado tipo JSON con información de todas las transacciones de cambios de divisas
"result": "success",
"fees": [
{
"fee_amount": 0.1185,
"money_request": 4.0,
"date_transaction": "2021-07-19 19:43:11.796932",
"base_currency": "EUR",
"quote_currency": "JPY"
}
Podras gestionar la base de datos con la siguiente url:
http://127.0.0.1:8889/
las credenciales son
[email protected]
root
MIT