Временные комнаты онлайн-событий

Pulse Grid

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

Технология
  • Nuxt
  • Vue
  • TypeScript
  • Nuxt UI
  • Pinia
  • Pinia Colada
  • FeathersJS

Задача

Для онлайн-события нужен понятный способ пригласить участников, показать, кто подключён, обмениваться сообщениями и запустить розыгрыш. После завершения встречи личные данные и переписка не должны оставаться доступными.

Как устроен сценарий

  1. Создать комнату или войти

    При создании комнаты появляется шестизначный код приглашения. По этому коду другие участники могут войти в неё.

  2. Выбрать имя и цвет

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

  3. Участвовать в событии

    В комнате можно управлять эфиром, отправлять текст и изображения и видеть отметки о прочтении.

  4. Выбрать следующего участника

    Розыгрыш учитывает только тех, кто сейчас подключён. Результат появляется у всех участников и добавляется в чат.

Ключевые решения

  • Комнаты изолированы друг от друга

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

  • Комната закрывается целиком

    Через 60 минут после создания становятся недоступны сессии, имена участников, сообщения, изображения, прочтения и история розыгрыша.

Сложные состояния

  • После закрытия есть следующий шаг

    Когда время истекло, участник видит завершённое состояние комнаты и может создать новую или войти в другую.