КОНЦЕПТУАЛЬНАЯ ПРОБА ПРИЛОЖЕНИЯ ДЛЯ ПОТОКОВОГО ВИДЕО

dis.agency
Опубликовано :2021-09-07 | Блог
КОНЦЕПТУАЛЬНАЯ ПРОБА ПРИЛОЖЕНИЯ ДЛЯ ПОТОКОВОГО ВИДЕО

We built a proof of concept of a video streaming application to ensure the ownership of the tech expertise in video streaming app development.

 

Предыстория

Мобильные приложения с потоковым видео стали реальной альтернативой оффлайн-встречам. Кроме того, приложения для социальных сетей, проекты "врач по требованию" и программное обеспечение для виртуальных мероприятий также используют функциональность потокового видео. 

В The APP Solutions мы часто получаем запросы от потенциальных клиентов на разработку приложений для потокового видео. Клиенты, которые рассматривают The APP Solutions в качестве технического партнера, ищут подтверждения того, что у нас есть опыт в разработке приложений для потокового видео и социальных сетей. 

Мы решили создать пробный вариант приложения для потокового видео, чтобы убедиться в наличии технической экспертизы. Мы также предоставили подробное описание общей архитектуры, списка функций и технологий, которые мы применили. 

   Что такое доказательство концепции (POC)? 

Доказательство концепции (POC) - это ранняя версия продукта между фазами проектирования и основной разработки. POC стал обычным способом для стартапов и уже состоявшихся компаний проверить, будет ли их идея работать, поскольку POC демонстрирует, что проект может быть реализован. Доказательство концепции также создает отправную точку для развития проекта в целом.

Бизнес нуждается в доказательстве концепции, когда нет гарантии, что технический результат достижим из-за использования сложной архитектуры и новых технологий, что актуально для мобильных приложений потокового видео. Таким образом, разрабатывая POC, разработчики и заинтересованные стороны получают доказательства жизнеспособности проекта.

Наша задача

Разработать доказательство концепции приложения для потокового видео с базовой функциональностью приложения для социальных сетей. Для достижения этой цели нам было необходимо: 

Реализовать следующие мобильные экраны и сценарии использования: 

  • Регистрация / Вход. Пользователи могут регистрироваться/входить в систему.
  • Просмотр профиля. Пользователи могут просматривать данные своего профиля и профиля других пользователей. 
  • Редактировать профиль. Пользователи могут редактировать данные своего профиля, такие как имя, аватар и биографию. 
  • Поиск. Пользователи могут искать других пользователей по имени и следовать за ними. 
  • Начать потоковое вещание.  Пользователи могут запускать потоковое видео в режиме реального времени.
  • Просмотр списка потоков. Пользователи могут просматривать список активных потоков. 
  • Присоединиться к потоку. Пользователи могут участвовать в потоковой трансляции другого пользователя в качестве зрителя. 

Интеграция нескольких методов авторизации, таких как: 

  • Email и пароль
  • авторизация Google
  • авторизация Facebook
  • авторизация Apple

Наше решение - доказательство концепции приложения для потокового видео  

Мы разработали пробный вариант приложения для потокового видео с базовой функциональностью приложения для социальных сетей, чтобы продемонстрировать нашу техническую экспертизу в области прямых трансляций и показать, как может выглядеть такой проект. 

Реализованные функции:

  • Вход/регистрация по электронной почте и паролю, Facebook, Google и Apple ID.  

  • Профиль пользователя 

 

  • Поиск последователей, функции следования и отмены следования 

 

  • Просмотр списка активных видеопотоков 

 

  • Трансляция видео для подписчиков и получение реакции 

 

Высокоуровневое видение архитектуры 

 

Технологический стек

  • Swift для приложения iOS
  • Firebase Real-time BD поддерживает прямое подключение из мобильных и веб-платформ, а также бэкенд-приложений
  • Firebase для аутентификации и авторизации пользователей, хранения данных и изображений
  • Google Cloud Platform для размещения бэкенда приложения
  • Python для бэкенда приложения 
  • Agora.IO, SaaS для видеотрансляций и участия в потоковом видео

Как мы разрабатывали концепцию приложения для потокового вещания

Основное

Мы построили POC приложения, используя архитектуру MVP+Router+Configurator, включая MVVM+Combine для списков и т.д. 

Мы сделали DI, используя ServiceLocator Singleton, который представляет собой фабрику абстрактных сервисов.

Основные сервисы 

  • Keychain для сохранения JWT и учетных данных Apple.
  • Network, AuthorizedNetwork, TokenProvider, APIErrorParser для выполнения сетевых запросов. Все запросы должны соответствовать APIRequestProtocol или APIAuthorizedRequestProtocol для запросов, включающих токен в заголовки. 
  • TokenProvider для получения токена из связки ключей и его обновления через Firebase, если это необходимо. Если ваше приложение должно обновлять токен с помощью внутреннего запроса, перейдите в Core/Networking/TokenProvider и перепишите этот сервис для восстановления токена вручную. 
  • FirebaseManager для аутентификации с использованием электронной почты+пароля, идентификатора проверки, социальных сетей, сброса пароля, выхода из системы и т.д.
  • FirebaseDatabaseManager для получения списка подписчиков, получения пользователей и т.д.
  • FirebaseStorage для установки и получения аватара.
  • AuthService - это просто заглушка для проверки токенов Firebase JWT. Если ваш back-end требует проверки JWT, вставьте запрос на проверку в метод validate.
  • SearchService для выборки пользователей с вводом данных из поля поиска.
  • FollowService для следования/отслеживания пользователя, найденного с помощью SearchService.
  • UserService для обновления профиля пользователя (имя и т.д.).
  • StreamService для получения токена для присоединения к каналу agora, уведомления back-end о начале/окончании канала, подписки на реакции пользователей, отправки реакций и т.д.

Наши результаты 

Разработка концептуального образца приложения для потокового видео позволила нам получить следующий опыт:

  • Мы интегрировали функциональность потокового видео в POC, используя Agora.IO SaaS.
  • Мы реализовали аутентификацию и авторизацию с помощью Firebase Authentication.
  • Мы работали с Firebase Realtime Database, которая поддерживает прямое соединение с приложениями конечных пользователей (например, мобильными, веб-приложениями и т.д.) на стороне сервера.
  • Мы оптимизировали процесс разработки, применяя готовые к использованию функциональные возможности Firebase.

В результате мы продемонстрировали нашу экспертизу в разработке приложений для потокового видео. 

Работаем вместе?

Свяжитесь с нами +373 69 423 639
+373 68 057 085
Не можете сделать выбор? Задайте вопрос эксперту!