Skip to content

CasperNEw/VK-Client

Repository files navigation

VK-Client

application first screen second screen

Архитектура

Была использована архитектура на базе паттерна MVP

Реализованные фичи

  • Авторизация через WKWebView
  • Сохранение приватных данных в Keychain, проверка expire_in token в AppDelegate
  • Реализация восьми различных API запросов с парсингом данных и сохранением данных в Realm
  • Вывод новостной ленты, посты с текстом и изображениями на кастомном layout, анимированное открытие вложенных фотографий, активная кнопка "Мне нравится". Реализована подгрузка данных при скроле, обновление данных, поиск по вхождению текста, частичное удаление данных из БД при деинициализации
  • Вывод списка друзей с разбитием на секции. Реализована навигация по титулам секций и поиск, возможность просмотра профиля
  • Вывод списка групп с возможностью поиска. Реализовано обновление контента при помощи обсервера. Реализован поиск по глобальным группам, возможность просмотра профиля, частичное удаление данных из БД при деинициализации
  • Вывод страницы профиля. Реализована загрузка данных о пользователе, группе, с загрузкой данных постов на стене профиля, анимированное открытие вложенных фотографий. Реализована подгрузка данных при скроле, обновление данных
  • Реализован плавный инфинити скрол, частичное кеширование контента
  • Реализовано уведомление пользователя при проблемах с запросом к API

Known issues

  • Не поддерживаются все виды вложений новостей
  • Не обработано много сценариев ошибок API

Используемые библиотеки

  • Alamofire, Kingfisher, RealmSwift, ImageViewer.swift, KeychainAccess, Firebase/Analytics, Firebase/Crashlytics

Releases

No releases published

Packages

No packages published