Messenger001
Полнофункциональный iOS-мессенджер с аудио/видео и групповыми чатами
Скриншоты
Клиент
Клиент, который строил приватную платформу для общения. Нужно было нативное iOS-приложение с личными и групповыми чатами, шерингом медиа и аудиозаписью.
Проблема
Клиент хотел кастомный мессенджер для своей аудитории, независимый от существующих платформ. Требования: личные и групповые чаты, текст/аудио/видео/фото сообщения, редактирование и удаление, ответы и пересылка, статусы прочтения, push-уведомления. Приложение должно работать с существующим REST API бэкендом клиента.
Решение
UIKit-приложение с программной вёрсткой (без storyboards). MVP-архитектура с презентерами. Core Data для локального кеширования сообщений. Сетевой слой на URLSession с multipart upload для медиа. Типы сообщений: текст, аудио (запись и воспроизведение), видео (сжатие и кеширование превью), фото. Полиморфные ячейки чата для разных типов сообщений. Функции чата: ответ на конкретное сообщение, пересылка, редактирование, удаление. Трекинг статусов прочтения/прослушивания. Управление групповыми чатами (добавить/удалить участников). Google Sign-In для авторизации. Firebase Cloud Messaging для push.
Результаты
- +Масштабная архитектура с контроллерами и презентерами
- +5 типов сообщений: текст, аудио, видео, фото, комбинированные
- +Полный жизненный цикл сообщений: отправка, редактирование, удаление, ответ, пересылка
- +Статусы прочтения и прослушивания per message
- +Групповые чаты с управлением участниками
- +Сжатие медиа и кеширование превью для видео
Роль и сроки
iOS-разработчик. UIKit, Core Data, интеграция REST API, Firebase. ~10 месяцев




