This is an implementation of a simple chat server using web_sockets. Made with the help of Leon Watson's Tutorial for the initial login. I've added the use of a DB for archiving Messages with Private Messaging as the default. Group Message functionality is not yet implemented.
Cloning the repository will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
NodeJS previously installed on the system is a must as npm is used to download the dependencies. If you're using Linux, use the following command
sudo apt-get install nodejs
For other operating systems, check the NodeJS website(http://nodejs.org) for details on installing node on your current Operating System.
After moving into the folder where you want the project, clone the project using the following command, inserting your username where specified
git clone https://github.com/rohitrmohanty/simple-chat-server-socket.io.git
Move into the root directory of the project, and use the following command to install all the required dependencies for the Backend.
npm install
After installing all the dependencies, go to server.js and insert your Database URL where specified. It has to be a MongoDB Url. After completing the setup, use the following command to start the server
npm start
- The backend server will be running by default on port 3231.
Add additional notes about how to deploy this on a live system.
- NodeJS - The web framework used as the backbone for the entire application, and also for running the backend server.
- ExpressJS - Used to define the routes of the application backend.
- Socket.io - Used to develop the FrontEnd of the application.
- MongoDB - Used as the database of the application for storing the data and querying through it.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Please read LICENSE for details on the license for reusing the code.
We use Git (https://github.com) for versioning. For the versions available, see the tags on this repository.
- Rohit R. Mohanty