Требования.
Описание. Приложение помогает пользователю найти максимально выгодный обменный курс валют среди популярных банков в Московском регионе.
Функционал.
- Приложение позволяет задать 2 и только 2 валюты для обмена.
- Приложение отображает список конвертации валют с указанием банков, отсортированным по максимальной выгоде (самое выгодное сверху)
- Приложение отображает график динамики конвертации валютной корзины за последний месяц при выборе пункта конвертации, а также выгоду конвертации, и информацию о банках.
Реализация.
- Приложение должно быть реализование для использования в среде Windows x86/64
Отказоустойчивость.
- При недоступности апи приложение должно уведомить пользователя о данной ошибке и попросить повторить действие попробовать чуть позже
- При отсутствие интернета / соединения приложение должно уведомить пользователя о данной ошибке и попросить проверить интернет соединение
Описание скрипта обновления данных приложения "Выгодный обмен валюты".
Процесс работы скрипта делится на три этапа:
Этап первый - забор данных.
Забор данных осуществляется посредством HTTP запросов к целевому ресурсу banki.ru. Скрипт обращается к утилите-итератору(currency_urls), которая возвращает URL-адрес для каждой валюты. На каждое возвращаемое значение создается отдельный поток, внутри потока выполняется запрос к адресу и парсинг ответа. Возвращаемое значение представлено именованным кортежем Bank, структура: имя банка, код валюты, покупка, продажа, время обновления ставки.
Этап второй - промежуточное сохранение.
Данные полученные в результате работы потоков добавляются в массив.
Этап третий - сравнение полученных данных с текущими в базе.
Сравнение работает в цикле по массиву значений полученном во втором этапе. Текущее значение массива передается функции rates_comparison. Функция берет последнее значение по коду валюты из общей таблицы, сравнивает со значениями кортежей из массива, если значения неравны, происходит перезапись.