Skip to content

Instantly share code, notes, and snippets.

@arturlector
Last active October 26, 2018 13:08
Show Gist options
  • Save arturlector/fef620ce5931d252f317 to your computer and use it in GitHub Desktop.
Save arturlector/fef620ce5931d252f317 to your computer and use it in GitHub Desktop.
Тестовое задание на позицию iOS-разработчика в Flatstack

Написать простой клиент для VK.

Минимальные требования:

###Скрины:

  • Авторизация пользователя (Oauth 2.0). (Контроллер LoginController - содержит кнопку [Login with VK] для перехода на страницу авторизации).
  • Cписок постов: отображение постов из новостной ленты. (по желанию количество лайков и репостов). (Контроллер NewsController - появляется после авторизации пользователя, содержит список постов со следующими полями: имя пользователя, дата поста, аватар, текст поста, прикрепленная картинка: 1-2). (* Отображать видео и аудио файлы не нужно).
  • Детальный скрин. Полный текст поста и показываем картинки. (контроллер DetailController - содержит детализированную информацию поста со *всеми картинками).

###Фичи:

  • Структурированный код, архитектура построенная на MVC.
  • Использовать Cocoa Pods для сторонних библиотек.
  • В качестве сторонней библиотеки использовать VK SDK.
  • UI должен быть написан Storyboard/Autolayout.
  • Pull to refresh - автоподгрузка при скролле вниз (старые посты) и вверх (новые посты).
  • Должна работать login/logout и смена юзера.
  • Для локального хранения используем CoreData.
  • Кэширование картинок.
  • Многопоточность с GСD. (Асинхронные запросы, загрузка картинок).
  • Код поместить в свой репозиторий на GitHub.

Неоднозначности задания трактуются на усмотрение разработчика.

Расширенные требования:

###Фичи:

  • Поддержка версий - iOS 6.0/7.0.
  • Поддержка платформ - iPhone/iPad.
  • Поддержка Autorotation - портретная и ландшафтная ориентация.
  • Вместо VK SDK - предпочтительнее VK API + AFNetworking.
  • Вместо CoreData - предпочтительнее Magical Record + MOGenerator.
  • Покрытие Unit-тестами: 1-2 класса.

В Readme.md должны быть записаны инструкции по запуску проекта.

Неоднозначности задания трактуются на усмотрение разработчика.

Критерии выполнения задания:

###1-й уровень:

  • Структурированный код. Архитектура MVC.
  • Реализация авторизации пользователя (Oauth 2.0).
  • Использовать VK SDK.
  • UI должен быть написан на Storyboard/Autolayout.
  • Использовать TableView c разными ячейками: ячейка с текстом, ячейка с картинкой, ячейка с тесктом и картинками.
  • Поддержка версий - iOS 6.0/7.0.
  • Код на GitHub.

###2-й уровень:

  • Pull-to-refresh - автоподгрузка при скролле вниз(старые посты) и вверх(новые посты).
  • Многопоточность с GСD. (Асинхронные запросы, загрузка картинок).
  • Использовать Cocoa Pods.
  • Поддержка платформ - iPhone/iPad.
  • Поддержка Autorotation - портретная и ландшафтная ориентация.

###3-й уровень:

  • Для локального хранения используем CoreData.
  • Кэширование картинок.
  • Должна работать login/logout и смена юзера.

###4-й уровень:

  • Хранить пароли юзеров.
  • Вместо VK SDK - использовать VK API + AFNetworking.
  • Вместо CoreData - использовать Magical Record + MOGenerator.
  • Покрытие Unit-тестами: 1-2 класса.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment