Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Currency Rate Service

PS: Этот проект был создан для удовольствия и эксперимента, потому что мне было интересно попробовать реализовать нечто подобное.

Описание

Currency Rate Service предоставляет API для получения актуальных данных о валютных курсах. Этот сервис позволяет пользователям получать информацию о курсах валют для заданной валюты, а также поддерживает интеграцию с различными внешними системами для получения и обмена курсами.

Функциональность

  • Получение актуальных курсов валют.
  • Поддержка нескольких валют.
  • Возможность настройки базовой валюты для получения курса других валют.
  • Интеграция с внешними API для автоматического обновления данных.

Полезные ссылки

В этом разделе собраны полезные ссылки, которые помогут вам проверить работу эндпоинтов сервиса и ознакомиться с его функционалом.

Для удобства тестирования всех доступных эндпоинтов сервиса, вы можете использовать Postman.

Эта коллекция содержит все необходимые запросы для проверки работы сервиса.
  • Подключите коллекцию в Postman для быстрого доступа к API.
  • Проверьте работу всех доступных методов и эндпоинтов.

Установка

Для локальной установки и запуска сервиса выполните следующие шаги:

1. Клонируйте репозиторий:

git clone https://github.com/LavrikPavlov/currency-rate-service.git
cd currency-rate-service

2. Подготовка Maven:

mvn clean install

3. Поднятие контейнера с БД:

Если у вас еще нет настроенной базы данных, вы можете поднять контейнер с нужной базой данных с помощью Docker.

Убедитесь, что у вас установлен Docker Desktop . После установки Docker, выполните команду для запуска контейнера с базой данных, используя docker-compose:

docker-compose up -d

Kafka-UI: localhost:9000 находиться по дефолтной ссылке. Топик создается автоматически.

4. Миграции БД с помощью Liquibase:

Сервис БД, запущенный через docker-compose с использованием docker-compose, автоматически создаёт необходимую схему в БД. Для выполнения миграций с помощью Liquibase предусмотрен скрипт run-migration.sh.

Как найти скрипт:

module: container 
path: /container/src/main/resources/script/run-migration.sh.

5. Настройка application properties:

Настройка application.properties

Для корректной работы сервиса, необходимо настроить файл конфигурации application.properties под ваши нужды в модуле currency-rate-service. Ниже приведены основные параметры, которые можно настроить.

1. Настройка Feign для API курса валют

Для настройки REST-запросов к API с курсами валют, используйте параметр feign.clients.cbr. Эта конфигурация позволяет вашему сервису отправлять запросы на внешний API для получения актуальных данных о курсах валют.

feign.clients.cbr.url = http://example.com/api/currency-rates  # URL внешнего API для получения курсов
feign.clients.cbr.connectTimeout = 5000  # Время ожидания подключения, мс
feign.clients.cbr.readTimeout = 5000     # Время ожидания ответа, мс

2. Настройка Schedulers сервиса

Для автоматического обновления валют через определенные интервалы времени, настройте шедулер с параметром toggle.scheduler.updateCurrency. Это позволит сервису обновлять валютные курсы через настроенное расписание.

toggle.scheduler.updateCurrency.enable=true  # Включение шедулера для обновления валют
toggle.scheduler.updateCurrency.cron="*/30 * * * * *"  # Расписание работы шедулера (обновление каждые 30 секунд)

About

The service is under development

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages