Skip to content

teensee/currency

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
vlad
Jan 29, 2023
70227de · Jan 29, 2023

History

22 Commits
Jan 29, 2023
Jan 29, 2023
Jan 29, 2023
Jan 29, 2023
Oct 16, 2022
Oct 16, 2022
Jan 29, 2023
Oct 16, 2022
Oct 16, 2022

Repository files navigation

Currency exchange

  1. GET http://10.10.10.1:10000/rates?onDate=07.10.2022 - получение курсов валют, на дату из цб
  2. GET http://10.10.10.1:10000/exchange?from=USD&to=RUB&onDate=07.10.2022 получение курса на дату из базы
  3. GET http://10.10.10.1:10000/rush - скачивание всех курсов из цб

Installation

  1. Склонировать репозиторий
  2. выполнить
cp .env.example .env
  1. docker-compose up -d --build

Работа с курсами

ЦБ присылает 34 пары курсов валют. Из них получаются обратные курсы путем 1 / exchangeRate
После происходит триангуляция курсов путем sql запроса вида:

insert into currency_rates (currency_from, currency_to, created_at, on_date, exchange_rate)
select pair.currency_from, pair.currency_to, pair.created_at, pair.on_date, pair.exchange_rate
from (
         select f.currency_from, t.currency_from as currency_to, f.created_at, f.on_date, (f.exchange_rate / t.exchange_rate) as exchange_rate
         from currency_rates f, currency_rates t
         where f.on_date = t.on_date
           and f.currency_to = t.currency_to
     ) pair
         LEFT OUTER JOIN currency_rates cr
                         ON (
                                     pair.on_date = cr.on_date
                                 AND pair.currency_from = cr.currency_from
                                 AND pair.currency_to = cr.currency_to
                             )
where pair.on_date = '2022-10-07'
group by pair.currency_from, pair.currency_to

Источник

todo:

  1. приложение в докер

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published