Приложение - клиент для работы с Вконтакте, проект пишется в рамках обучения в Geekbrains.
Проект учебный и в нём делается намного больше, чем даётся программой.
В программе есть ДЕМО РЕЖИМ, т.е. вам не обязательно авторизовываться через ВК апи, можно посмотреть с тестовыми данными.
В данной версии мессенджера не используется сториборд, а весь интерфейс написан кодом. Такого на курсе не было, обучился самостоятельно.
- Авторизация через Webview вконтакте
- Сохранение сессии авторизации
- Использование авторизации для запросов API
- Демо режим и демонстрация со статичными данными
- Друзья
- Отображение списка друзей
- Поиск по списку друзей
- Просмотр профиля и всех фото
- Галерея фото
- Не Коллекция
- Анимируются UIView каруселью
- Предзагрузка
- Кеширование
- Группы
- Отображение групп пользователя
- Поиск
- Поиск по группам пользователя
- Поиск новых групп
- Вступление в группу
- Выход из группы
- Новости
- Отображение новостей
- Возможность лайкнуть
- Скролл нескольких картинок
- Показать полностью текст новости
- Используется архитектура MVVM + сервисы
- UIKit
- Persistent менеджер на базе Realm
- Менеджер кэша на базе NSCache
- Dependency Injection
- Assembly сервис, загружает разные модели в live и demo режимах
- GCD
- Operations
- Кастомные ячейки таблиц
- Кастомные ячейки коллекций
- UICollectionViewDiffableDataSource
- Composition Layout в коллекции новостей
- Infinite scroll + Pull to refresh в новостях
- Отдельные сервисы для загрузки данных
- Сохранение картинок в файловую систему с именем SHA256 от ссылки
- XCTest
и другое