Это тестовое задание Додо Пиццы.
Фича в миниатюре: задание и требование похоже на те, что бывают в нашей работе.
Нужно сделать фича-фреймворк Bonuses. Он должен содержать контроллер и все классы нужные для его работы.
В проекте находится файл Network. Это фейковая реализация сети, возвращает json в виде Data. Используй его для проверки приложения.
- Получить данные и вывести на экран. Пример в Main.png. Дата из формата iso 8601 надо привести к тому что в примере.
- Обработать состояния загрузки: загрузка, данные, ошибка.
- По нажатию на ячейку открывать модальный экран, вывести на него дату. Модальный экран должен открываться в основном приложении, а не фреймворке. Пример в Detail.png
- Создай фреймворк Bonuses и подключи его к проекту
- Передай класс сети как внешнюю зависимость во фреймворк Bonuses. Меняй класс как тебе удобно.
- В итоге Bonuses должен содержать UIViewController который выведет данные на экран и использовать Network
- Весь код фичи во фреймворке Bonuses
- Написаны тесты. Начни работать с данными прямо в тесте, а потом рефактори по-необходимости. Экраном можно заняться в последнюю очередь.
- Можно из кода легко переключить состояние сети: всегда загрузка, сразу данные, фейл.
- Есть состояния загрузки, данных и фейла сети. Состояния находятся в разных UIViewController.
- Умение работать во фреймворке
- Архитектуру: экранную, между экранами, между приложением и фреймворком
- Работу с данными: насколько понятно как данные меняются из одного типа в другой, как хранятся
- Навык написание тестов
- Управление зависимостями: как передаются, как управляется их поведение.