Skip to content

Algashev/ListOfUsers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ListOfUsers

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

Задача

Создать приложение, отображающее список людей с возможностью просмотра информации о каждом конкретном человеке, включая список его друзей с возможностью перехода между ними. Полученные данные должны кешироваться при получении и не перезапрашиваться при последующем запуске приложения при условии, что время жизни данных не истекло. На экране списка должна быть обеспечена возможность перезагрузки закешированных данных. Приложение должно работать в горизонтальной и вертикальной ориентации экрана, сохраняя свое состояние при изменении ориентации.

Адрес запроса

https://www.dropbox.com/s/s8g63b149tnbg8x/users.json?dl=0

Общие требования

  • язык разработки - swift
  • версия iOS - 11.0
  • требования к дизайну - соответствие гайдлайнам Apple
  • время жизни данных - 5 минут
  • верстка через код
  • менеджер зависимостей carthage
  • архитектура проекта VIPER
  • время выполнения 2 недели

Требования к содержанию экранов

  1. Экран списка пользователей
  • представлен в виде списка
  • каждый элемент списка содержит текст name, текст email и отображение состояния isActive
  • переход на детали пользователя доступен только для активных пользователей (isActive == true)
  1. Экран деталей пользователя:
  • содержит текстовые поля 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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages