@cooperative-computing/node-chat-stream
v2.0.3
Published
A NodeJS chat library build with socket.io and express js.
Downloads
9
Readme
Node js Chat Stream
A NodeJS chat library build with socket.io and express js.This Package provide following types of chat:
1-User to user chat
2-User to multi-user chat
3-Group chat
Getting Started
Prerequisites
1-Nodejs
2-Express server
2-MongoDB
3-Socket Io version >= v2.3.0
4-Api Required to fetch user info
API url https://your_app.com/getUsersByIds?ids[]=1&ids[]=2
API response:
{
users:[
{
id:1,
.....
}
]
}
Installation
1-Run
npm i @cooperative-computing/node-chat-stream
//or
yarn add @cooperative-computing/node-chat-stream
2- Server side import and config:
import { SetChatConfig, StartChat } from ('@cooperative-computing/node-chat-stream');
//(above for es6 ) or
const { SetChatConfig, StartChat } = require('@cooperative-computing/node-chat-stream').NodeChatSteam;
ChatConfig({db_url: 'your_db_url'});
StartChat(your_project_socket , express_server);
Client Side Flow
1-Install socket io
2-import and socket io config
3-Adde following event listener (also other basic event listener like reconnect ,disconnect)
socket.on("user-message", your_method/function);
// for user to user chat
socket.on("multi-user-message", your_method/function);
// user to multi-user chat
socket.on("group-message", your_method/function);
// group chat
4-
socket.emit("node-chat-join", {user_id: 'user_id'});
For sending messages example
socket.on("user-message", {text: 'text',sender: 'sender_id',receiver: 'receiver_id', chat_list_id: 'chat_list_id'});
// chat_list_id is optional in user to user
// for user to user
socket.on("multi-user-message", {text: 'text',chat_list_id: 'chat_list_id'});
// for user to multi-user
socket.on("group-message", {text: 'text',sender: 'sender_id',chat_list_id: 'chat_list_id'});
// for group chat
REST API Docmentation
https://documenter.getpostman.com/view/12181559/T1DqhdBV?version=latest
Built With
- Socket.IO - Realtime communication library
- Express - Web application framework for Node.js.
- MongoDB - NoSQL database
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
License
This project is licensed under the MIT License - see the LICENSE file for details.