Реализовать чат на WebSocket.
- Умение работать с 3rdParty библиотеками (Cowboy)
- Умение читать требования и следовать им
- Умение типизировать структуры данных и функции
- Интеграцию логики в уже существующее приложение
- Использование существующих моделей данных
- Управление зависимостями между сущностями
- Знание ОТР, behaviour, REST
- Внешний вид чата не важен.
Пользователь в браузере заходит на сайт чата, выбирает уникальное имя и присоединяется к чат-комнате. Чат-комната создается в динамике при входе. Пользователь может писать сообщения в чат и видеть сообщения других пользователей. В чате может быть сколь угодно пользователей. Кроме пользователей в комнате существует бот, который в случайные интервалы пишет сообщения (содержание на усмотрение автора).
В комнате пользователь видет список всех пользователей данной комнаты подключенных в данный момент.
-
Создать репозиторий на github
- Иницировать ветку main с readme с этим заданием
- Выполнять задание в этом репозитории в веткe work.
- Сделать pull request с ветки work на ветку main
-
Язык по выбору: Erlang или Elixir
-
Допускается использовать любые библиотеки кроме MVC фреймворков вроде Phoenix, N2O, Chicago Boss.
Для экономии времени можно воспользоваться нашей заготовкой проекта, в ней уже реализован соединение приложение в браузере с приложением на Erlang с использованием WebSocket. Добавлены примеры отправления сообщений и вывода их на странице в браузере.
Для сборки проекта необходима утилита rebar3:
- rebar3 compile
- rebar3 release
- запуск ./_build/default/rel/chat/bin/chat foreground