Проект построен на стеке Node - Express - Socket.io .
-
io.on('connect') - запоминаются данные подключаемого пользователя в структуре данных Users.
-
socket.on('users manager', ({ method, name }, callback) - управление данными подключенного пользователя в структуре данных Users.
-
socket.on('rooms manager', ({ method, roomName }, callback) - управление комнатами пользователей в структуре данных Rooms.
-
socket.on('chat message',({ roomName, user: {userID, userName}, message }) - управление сообщениями между пользователями.
-
socket.on('disconnect') - удаляются сведения пользователя из структур Users и Rooms. Оповещаются остальные пользователи об изменениях в их комнатах.