Skip to content

Instantly share code, notes, and snippets.

@timurvafin
Forked from arturlector/ios-test-task-1.md
Last active October 12, 2021 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save timurvafin/35203469b66401371453 to your computer and use it in GitHub Desktop.
Save timurvafin/35203469b66401371453 to your computer and use it in GitHub Desktop.

Написать простой клиент для 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 должны быть записаны инструкции по запуску проекта.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment