Exchange Rates API - это веб-сервис на базе FastAPI, который предоставляет курсы обмена валют и функции конвертации валют. Он позволяет вам получать доступ к последним обменным курсам и выполнять конвертацию валют.
- Получение последних обменных курсов для различных валют.
- Конвертация одной валюты в другую на основе последних курсов.
Следуйте следующим шагам:
- Требуются установленные Docker и Docker Compose.
- Ваш
.env
файл с персональными настройками и ключом доступа к https://exchangeratesapi.io/.
-
Клонируйте репозиторий:
git clone https://github.com/Cheater121/exchange_rates_api.git
-
Перейдите в директорию проекта:
cd exchange_rates_api
-
Соберите и запустите контейнеры приложения и базы данных:
docker-compose up -d
-
Ваше приложение работет. Можно его протестировать по адресу: http://localhost:8001.
-
Чтобы остановить сервис:
docker-compose down
Ручка для обновления курсов валют в базе данных:
GET http://localhost:8001/api/update_rates
Для конвертации валют нужно направить POST-запрос с кодами валют и количеством для обмена:
POST http://localhost:8001/api/convert
Request Body:
{
"from_currency_code": "RUB",
"to_currency_code": "USD",
"count": 10
}
Вы можете узнать дату, когда последний раз были обновлены курсы валют в базе данных:
GET http://localhost:8001/api/last_update
Больше информации о форматах ответа / возможных ошибках можете посмотреть в Swagger UI по адресу.
GET http://localhost:8001/docs
П.С. Так как старт приложения идет через Gunicorn, который управляет воркерами Uvicorn'а, и по-умолчанию привязано ко всем портам машины (0.0.0.0), то вместо localhost для доступа извне (в т.ч. из интернета) можно использовать IP-адрес машины. Будьте бдительны.