Тестовое задание
Создать приложение, отображающее список людей с возможностью просмотра информации о каждом конкретном человеке, включая список его друзей с возможностью перехода между ними. Полученные данные должны кешироваться при получении и не перезапрашиваться при последующем запуске приложения при условии, что время жизни данных не истекло. На экране списка должна быть обеспечена возможность перезагрузки закешированных данных. Приложение должно работать в горизонтальной и вертикальной ориентации экрана, сохраняя свое состояние при изменении ориентации.
https://www.dropbox.com/s/s8g63b149tnbg8x/users.json?dl=0
- язык разработки - swift
- версия iOS - 11.0
- требования к дизайну - соответствие гайдлайнам Apple
- время жизни данных - 5 минут
- верстка через код
- менеджер зависимостей carthage
- архитектура проекта VIPER
- время выполнения 2 недели
- Экран списка пользователей
- представлен в виде списка
- каждый элемент списка содержит текст name, текст email и отображение состояния isActive
- переход на детали пользователя доступен только для активных пользователей (isActive == true)
- Экран деталей пользователя:
- содержит текстовые поля name, age, company, email, phone, address и about
- нажатие на поле email должно открывать внешний почтовый клиент и добавлять значение поля в качестве адресата письма
- нажатие на поле phone должно открывать приложение для звонков и вставлять номер в поле набора
- содержит поле balance, данные которого должны быть отформатированы - если значение числа не содержит дробной части, то дробная часть отображаться не должна
- значение поля eyeColor должно быть представлено в виде точки соответствующего цвета. Возможные варианты: brown, green, blue
- значение поля favoriteFruit должно быть представлено в виде иконки, соответствующей одному из трех вариантов: apple, banana, strawberry
- значение поля registered должно быть отформатированно в строковый формат даты HH:mm dd.MM.yy
- значение полей latitude и longitude должно выводиться в одну строку по стандартному формату координат и, при нажатии, открывать внешнее приложение карт с отображением данной точки
- список tags должен выводиться в одну строку с горизонтальным скроллом с добавлением знака # перед каждым тегом
- список friends должен выводиться в виде вертикального списка, аналогичного по наполнению и поведению списку, описанному в пункте 1. Экран списка пользователей
- переход по кнопке back должен обеспечивать переход по всей иерархии открытых экранов, а не вести на экран списка.
Icon made by Freepik from www.flaticon.com