Пользователь может создавать новые комнаты (/api/createRoom
). При этом пользователь
выбирает файл, который будут все смотреть, для файла рассчитывается хеш-сумма и
регистрируется вместе с комнатой на бекенде. После этого у создателя появляется ссылка,
которой он может поделиться с остальынми, чтобы они присоединились.
Остальные пользователи могут присоединиться по ссылке (/api/joinRoom
), при этом они
должны также выбрать файл, который будет просматриваться и его хеш-сумма должна совпасть.
Также администратор комнаты может удалить ее (/api/deleteRoom
). При этом комната автоматически
будет удалена и в том случае, если в ней больше никого не останется.
Подключение к комнаты осуществляется с помощью вебсокетов (/room/{id}
). После подключения
к сокету, клиенты в случае изменений с их стороны, транслируют это в вебсокет, если же
изменения происходят у других пользователей, то принимают их и обрабатывают. Бекенд же
осуществляет широковещательное взаимодействие.