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

Приложение для индивидуальных и групповых занятий танцами онлайн
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 компаний уже воспользовались нашими услугами по разработке программного обеспечения. Не верите нам на слово – смотрите сами!

Мобильное приложение для образовательных услуг
Платформа для сектора образования, которая облегчает общение между учителями и родителями учеников.
узнать больше
Веб приложение для обучения танцам
Приложение для индивидуальных и групповых занятий танцами онлайн
узнать больше
Высоконагруженная система обработки и хранения данных
Система, которая выполняет функцию хранилища данных и биллинговой системы для всех расходов и действий клиентов.
узнать больше
Веб приложение для операций с недвижимостью
Веб-приложение для покупки, аренды и продажи недвижимости онлайн в Испании, Панаме и Коста-Рике.
узнать больше
Веб-приложение для Parfuemerie.de
eCommerce приложение для продажи парфюмерии и косметики по всей Германии
узнать больше
Корпоративное приложение для розничной торговли
Кроссплатформенное мобильное приложение и админ-панель для управления крупной сетью ритейлеров.
узнать больше
Мобильное приложение для Bitcoin.de
Мобильное приложение для криптобиржи
узнать больше
Мобильное приложение для интернет-магазина
Мобильное приложение для продажи детской одежды и аксессуаров
узнать больше
Приложение для управления данными и мультимедиа
Веб-приложение для автоматизации производства медиа-продукции, в частности – каталогов компаний
узнать больше

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

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