Распределенный чат на Node.JS и Redis

Установка и запуск

Установка

npm i typescript ts-node -g
docker-compose -f "docker-compose.yml" up -d --build

Серверы доступны на портах 3001 и 3002, их логи можно посмотреть:

docker logs distributed-nodejs-chat-with-redis_sock-app-0_1 --tail 50 -f

..и:

docker logs distributed-nodejs-chat-with-redis_sock-app-1_1 --tail 50 -f

Чтобы поднять клиента заходим в папку sock-app и выполняем:

ts-node src/TestClient.ts %PORT%

Команды

Клиент являет собой интерактивную консоль с заданными командами

Description Call Full name
Авторизоваться a(user_name) Auth
Разлогиниться lo() Log Out
Обновить список подписок subs([user_to_unsubscribe], [user_to_subscribe]) Subscribtions
Узнать кто из списка пользователей онлайн o([user_name]) Online
Написать сообщение в комнату w(room, message) Write
Создать комнату cc(room) Create Chat
Добавить участника с комнаты am(room, member) Add Member
Удалить участника в комнату rm(room, member) Remove Member

Скринкасты

Чат с двумя участниками

asciicast

Онлайн статус

asciicast

Множество участников

asciicast