Учебное приложение, позволяющее пользователям общаться в чате.
Испытать в деле можно здесь.
Суть проста, пользователь автоматически аутентифицируется при первом посещении,
и ему присваевается рандомный никнейм с помощью гема Faker.
Далее он может создать комнату и общаться со всеми пользователями, зашедшими в нее,
или отправить ссылку на комнату своим друзьям и общаться с ними.
На главной странице пользователям также доступен список всех комнат, можно зайти в любую и начать общаться.
При создании комнаты ей присваивается токен, по которому она идентифицируется в адресном пути, например superchat/rooms/2ad8.
Приложение создано на 5х рельсах с использованием ActionCable.
В нем реализованы фичи мгновенного получения сообщений без перезагрузки страницы,
вывода информации о вошедших и вышедших из чата юзерах,
а также отображения списка онлайн юзеров на главной странице, также в режиме реального времени.
Для запуска потребуется версия Ruby on Rails не ниже 5.1.4.
Перейдите в терминале в каталог с приложением и запустите следующие команды:
bundle
rails db:migrate
rails s
И приложение будет доступно на локальном сервере.
Также предусмотрен сценарий если юзер откроет приложение в нескольких вкладках одновременно.
Пользователь будет идентифицирован и оставаться онлайн до тех пор, пока хотя бы одна вкладка с приложением открыта.