Конвертер валют
Тестовое задание.
Description
Простой конвертер валют. На данном этапе есть возможность конвертации выбранной валюты в рубли, и обратно. Приложение состоит из четырех экранов: анимированный splash screen, главный экран выбора валюты, экран калькулятора, экран избранного. Конвертация происходит сразу, как только введен или удалён хотя бы 1 символ. Добавление в избранное осуществляется свайпом по ячейке в левую сторону. Переход в калькулятор возможен как с главного экрана, так и из избранного. Название валюты добавленной в избранное окрашивается в оранжевый цвет. Есть возможность обновить данные с помощью свайпа сверху вниз.
Описание используемых технологий
- Многопоточность приложения построена на GCD.
- Стараюсь использовать все принципы чистого кода, DRY, KISS, YAGNI, SOLID и SOA (Всё еще не идеально. I'm just learning 😅).
- Приложение написано на архитектуре VIPER.
- Используется UserDefaults для хранения избранной валюты.
- В приложении присутствует работа с URLSession. С помощью него идет загрузка XML
- Через XMLParser получаю данные по валютам.
- Код частично покрыт Unit тестами.
- Частично, интерфейс написан кодом с помощью AutoLayout.
- Вместо Storyboard использую XIB файлы. 1 экран – 1 XIB.
- Весь дизайн приложения был взять из головы.
Installations
Clone and run project in Xcode 13 or newer