Приложение - клиент для работы с Вконтакте через открытое API.
Это вторая версия программы, написанная на архитектуре VIPER и доработанная.
Первая версия на архитектуре МVVM тут - https://github.com/Eldaen/VK-Client
В программе есть ДЕМО РЕЖИМ, т.е. вам не обязательно авторизовываться через ВК апи, можно посмотреть с тестовыми данными.
К коду написано много документации. Если кому-то кажется это лишним, то всегда можно её не писать. Тут она есть, как минимум, чтобы была.
В данной версии мессенджера не используется сториборд, а весь интерфейс написан кодом. Вью вынесены из контроллеров и полностью описаны отдельно.
- Авторизация через Webview вконтакте
- Сохранение сессии авторизации
- Использование авторизации для запросов API
- Демо режим и демонстрация со статичными данными
- Друзья
- Отображение списка друзей
- Поиск по списку друзей
- Просмотр профиля и всех фото
- Галерея фото
- Не Коллекция
- Анимируются UIView каруселью
- Предзагрузка
- Кеширование
- Группы
- Отображение групп пользователя
- Поиск
- Поиск по группам пользователя
- Поиск новых групп
- Вступление в группу
- Выход из группы
- Новости
- Отображение новостей
- Возможность лайкнуть
- Скролл нескольких картинок
- Показать полностью текст новости
- Pull to refresh
- Infinite scrolling
- Используется архитектура VIPER
- UIKit
- Persistent менеджер на базе Core Data
- Менеджер кэша на базе NSCache
- GCD
- Operations
- Кастомные ячейки таблиц
- Кастомные ячейки коллекций
- UICollectionViewDiffableDataSource
- Composition Layout в коллекции новостей
- Infinite scroll + Pull to refresh в новостях
- Отдельные сервисы для загрузки данных
- Сохранение картинок в файловую систему с именем SHA256 от ссылки
- XCTest
и другое