How to Build Chat Application Plugin Using Node js?

30-Jan-2023

.

Admin

How to Build Chat Application Plugin Using Node js?

Hello Friends,

In this tutorial, we will use the Node.js platform to build a real-time chat application that sends and shows messages to a recipient instantly without any page refresh. We will use the JavaScript framework Express.js and the libraries Mongoose and Socket.io to achieve this.

It includes surveying the server for changes and staying informed concerning timestamps, and it is considerably measuring slower than it ought to be. Before moving further let’s discuss the technology stack used in it to build chat application development.

Let’s start :


  • create a folder
  • cd into that directory in your terminal (command line)
  • run npm init. This will create a new package.json file. (it will ask your name/version, etc.)
  • Node.js as a Web Server

    The HTTP module can create an HTTP server that listens to server ports and gives a response back to the client.

    Use the createServer() method to create an HTTP server:

    var http = require('http');

    //create a server object:

    http.createServer(function (req, res) {

    res.write('Hello World!'); //write a response to the client

    res.end(); //end the response

    }).listen(8080); //the server object listens on port 8080

    Getting started with rs-chat plugin

    You can install it through npm.

    npm install rs-chat

    Setup for nodejs

    Open index.js or server.js or main.js file and put the below code and start nodejs server

    var app = require('http')

    var chat = require('chat')

    chat.init({

    host : 'localhost', // DB host

    user : 'user', // DB User

    password : 'password', // DB Password

    database : 'database' // DB Name

    });

    Create table

    CREATE TABLE `messages` (

    `id` int(11) NOT NULL,

    `userId` int(11) NOT NULL,

    `toId` int(11) NOT NULL,

    `msg` text NOT NULL,

    `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

    `read_at` datetime DEFAULT NULL

    )

    ENGINE=InnoDB DEFAULT CHARSET=latin1;

    Load the required files

    Inside the page’s head tag include the CSS file.

    <link rel="stylesheet" type="text/css" href="https://unpkg.com/rs-chat@1.0.7/dist/rs-chat.min.css">

    In the page’s footer, just before , include the required JavaScript files.

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>

    <script type="text/javascript" href="https://unpkg.com/rs-chat@1.0.7/dist/rs-chat.min.js"></script>

    Instantiate the chat plugin

    <script type="text/javascript">

    RSChat.init({

    socketUrl: 'http://localhost:8080/' // server url,

    userId: '1', // logged in user id

    name: 'ravi shukla', // logged in user name

    });

    </script>

    Call the below function to open chat box

    RSChat.start('user_id', 'username')

    if you have any errors in the installation nodejs chat plugin. Please go to the git hub link and download.

    Npm Package : https://www.npmjs.com/package/rs-chat

    github : https://github.com/ravishukla007/chat

    I hope it can help you...

    #Node JS