Project is designed to retrieve formatted data from the FrankFurter. In case of FrankFurter not accessible fallback to local stored data.
- Ubuntu 22.04.5 or higher
- python 3.10.*
Create virtual environment.
virtualenv venvInstall necessary libs
pip install -r requirements.txtCreate .env file
cd configs
create .env file. # put the same keys defined in .env_exampleCreate the static saved info in data.
Later real data will be kept in production, not in version control.
Expected data structure defined in data/example_static_rates.json .
cd data
create a file, with a name defined in .env file.Run the app. If the port 8000 is already in use, it's possible to use any other port
uvicorn app.main:app --reload --port 80002 endpoints are available health and summary
healthpropose is just system health status checking. Do not expect any data from the requestsummarypropose is formated rate info collecting (EUR->USD). Expect 3query paramsstart_daterequiredend_daterequiredbreakdownnot required. Single expected value isday.
Get data with daily rates info
curl --location 'http://127.0.0.1:8000/summary?start_date=2025-01-01&end_date=2025-01-03&breakdown=day'Get only total data, without daily rates info, data table will be visible in app running terminal
curl --location 'http://127.0.0.1:8005/summary?start_date=2025-01-01&end_date=2025-01-03'Get health status
curl --location 'http://127.0.0.1:8005/health'And of course ✅ !