ИТ-компания RedLab приняла участие в реализации проекта по модернизации сервиса для публикации и просмотра видео. В этой статье делимся кейсом.
О клиенте
Бизнес занимается разработкой собственной цифровой экосистемы и создает финтех-решения для B2B- и B2C- клиентов на базе облачных технологий, предиктивной аналитики и интернета вещей. Также компания предлагает аудитории различные медиа-продукты: онлайн-кинотеатр, сервис цифровых книг, музыки, платформу для планирования путешествий, бронирования отелей и билетов и др.
О проекте
Продуктовая ИТ-компания развивает сервис для публикации и просмотра видео. Площадка имеет систему монетизации контента, благодаря которой авторы зарабатывают с помощью донатов. Завершив разработку MVP видеоплатформы, бизнесу требовалось оперативно привлечь аудиторию: блогеров и зрителей. Для этого было необходимо расширить функционал продукта, чтобы предложить пользователям больше возможностей.
Описание задачи
Клиент сформировал основной запрос — в кратчайшие сроки внедрить инструменты для монетизации digital-материалов. Помимо разработки новых современных опций команде RedLab требовалось:
Доработать корневую фичу: анализ архитектурных решений и исправление «узких мест».
Адаптировать функционал под различные типы устройств: корректная работы программы в веб-версии и на мобильных устройствах.
Обеспечить бесперебойную работу платформы: масштабирование ИТ-инфраструктуры под растущий трафик и нагрузку.
Реализация
В ходе реализации проекта работы велись специалистами RedLab по нескольким направлениям.
Для IOS и Android:
Реализовали архитектурный подход Unidirectional Data Flow, с помощью которого обновили функционал монетизации видеоконтента и переписали основной экран приложения. Технология улучшила производительность ИТ-продукта и сэкономила ресурсы на поддержку легаси.
Перешли на фреймворк SwiftUI, что позволило упростить создание пользовательских интерфейсов, быстрее разрабатывать прототипы и писать меньше строк кода.
Использовали синтаксис Async/await, чтобы оптимизировать работу с сетью и другими асинхронными операциями, а также повысить производительность приложения.
Применили нативные реактивные подходы в процессе мобильной разработки, благодаря чему стали эффективно управлять состоянием программы.
Постепенно делили проект на модули. Микросервисная методология помогла разным командам разработки работать независимо и эффективно.
Создали различные template и документы с пояснениями и обсуждением различных задач по улучшению общей экосистемы проекта.
Спроектировали архитектуру всего приложения и отдельных модулей на базе MVI с применением библиотеки Orbit, а внедрение зависимостей внутри модулей осуществили благодаря Dagger 2. Удалось улучшить структурированность кода.
Настроили GitLab-CI flow, позволяющий автоматически строить сборки проекта в трех режимах: Debug (для develop branch), Beta (для системного тестирования) и Release (для публикации в магазинах приложений).
Выполнили построение компонентов в системе таким образом, что оно происходит, если код прошел review и были успешно выполнены все Unit-тесты.
Реализовали навигацию между экранами приложения с помощью Navigation Architecture Component вместо ранее используемой библиотеки Cicerone. Внедренная технология предлагает более обширную документацию и улучшенную тестируемость.
Разработали сложную «выпрыгивающую» анимацию кнопок для UI-интерфейса, которая работает как для экранов, выполненных с помощью Jetpack Compose, так и для экранов, реализованных через XML layout.
Создали набор дополнительных экранов, позволяющих пользователю найти блогеров и видеоклипы по заданным критериям и добавить ссылки на контент в свои ролики.
Также клиенту требовалось провести системный анализ в сфере разработки маркетинговых инструментов рассылки уведомлений, сбора и обработки статистики:
Согласовали ТЗ с заказчиком, архитектором и другими участниками команды, чтобы каждый специалист получал актуальные и единые требования к будущему продукту.
Подготовили детальные технические задания на разработку. Благодаря четкому описанию требований, клиент смог ощутить пользу от новой фичи быстрее из-за ее оперативной разработки.
Помогли спроектировать высоконагруженную микросервисную архитектуру, которая помогла программистам убедиться в совместимости и согласованности компонентов.
Результат
Бизнес выпустил обновленную версию современной видеоплатформы с расширенным функционалом. Теперь блогеры могут оперативно загружать видео, а зрители — ставить реакции на понравившийся контент с помощью новых инструментов и легче осуществлять перевод донатов.