Веб-приложение для обучения танцам - Intexsoft

Веб-приложение для обучения танцам

Приложение для индивидуальных и групповых занятий танцами онлайн
image

О проекте

Заказчик – профессиональный танцор, которому пришла идея разработать приложение, с помощью которого можно обучать людей со всего мира танцам онлайн c помощью видео-стриминга.

 

Основная задача проекта заключалась в обеспечении синхронизации видеопотоков в сети без использования сторонних систем.

Технологии

Состав команды

  • 2 full-stack разработчика

  • DevOps инженер

5

недель подготовки POC

2

full-stack разработчика в команде

12

месяцев непрерывной работы

Решение

На начальной стадии проекта наши специалисты работали над Proof of Concept или проверкой концепции. Необходимо было подобрать оптимальный технологический стек и определить, как будет работать сервис. 


В пользовательском интерфейсе сервиса наша команда разместила 16 окон: одно для Учителя и 15 для Учеников. Затем мы запускали программу и добивались стабильной работы всех видеопотоков.

 

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

 

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

 

После того, как мы утвердили технологический стек и протестировали PoC, мы разделили каждый урок на этапы: Разминка, Объяснение, Практика, Отработка и Резюме. У каждого из этапов своя функциональность. 

 

Одна из самых сложных фаз урока – Практика, когда ученики начинают одновременно танцевать. На этом этапе команде нужно было добиться идеальной синхронизации 15-ти видеопотоков.

 

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

 

Синхронизация была достигнута за счёт использования FFmpeg – инструмента, который позволяет гибко и удобно управлять передачей аудио- и видеопотоков. Для отображения видеопотоков без использования сторонних систем мы решили использовать технологию WebRTC. Это было идеальное решение для безопасной потоковой передачи видео через браузер.

 

Передачу данных между пользователями и сервисом наши специалисты обеспечили по зашифрованному каналу (SSL/TLS).

Методология и прозрачность

Команда IntexSoft использовала итеративный подход. Наши специалисты выполняли задачи параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы.

 

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

Основная функциональность

  • Онлайн-уроки

    в одном уроке может участвовать 16 пользователей (один учитель и 15 студентов), урок разделен на 5 этапов

  • Потоковое видео и синхронизация

    многоточечная видеоконференция на этапе Объяснения, синхронизация видеопотоков с музыкой на этапе Практики, передача аудио- и видеопотоков студентов всей группе на этапе Отработки

  • Онлайн-чат

    студенты могут отправлять сообщения и обмениваться файлами в чате во время урока

  • Масштабируемость

    приложение дает возможность проводить до 10 уроков одновременно и, кроме того, предоставляет возможность горизонтального масштабирования

  • Оплата

    оплата через PayPal или банковской картой, несколько пользовательских пакетов различной стоимости

Похожие проекты

Более 150 компаний уже воспользовались нашими услугами по разработке программного обеспечения. Не верите нам на слово? Смотрите сами!

Мобильное приложение для гастрономических заведений

Мобильное приложения для ресторанов, пиццерий и суши-баров.
Learn more

Оптовый интернет-магазин

B2B интернет-магазин на базе платформы Magento для продажи рекламной продукции партнеров.
Learn more

HR Система

Веб и мобильные приложения для автоматизации рабочих процессов с сотрудниками, их рабочего времени, отпусков и т.д.
Learn more

Агрегатор информации о товарах

Агрегатор информации о товарах из различных интернет-магазинов.
Learn more

Система управления доставкой багажа

Cистема доставки багажа от и до аэропорта.
Learn more

Мобильное приложение для образовательных услуг

Платформа для сектора образования, которая облегчает общение между учителями и родителями учеников.
узнать больше

Веб-приложение для обучения танцам

Приложение для индивидуальных и групповых занятий танцами онлайн
узнать больше

Высоконагруженная система обработки и хранения данных

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

Веб-приложение для операций с недвижимостью

Веб-приложение для покупки, аренды и продажи недвижимости онлайн в Испании, Панаме и Коста-Рике.
узнать больше

Давайте обсудим ваш проект

Напишите нам и мы обязательно найдём решение для вашего бизнеса