Skip to content

Latest commit

 

History

History
47 lines (41 loc) · 3.77 KB

README.md

File metadata and controls

47 lines (41 loc) · 3.77 KB

Xcode Swift IOS
UIKit AutoLayout XIB VIPER UserDefaults XMLParser URLSession URLRequest GCD UnitTests

Конвертер валют

Тестовое задание.

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

Screenshots

Demo