{"repo":"orDaor/socket.io-live-chat","free":true,"listed":false,"github":"https://github.com/orDaor/socket.io-live-chat","clone":"git clone https://github.com/orDaor/socket.io-live-chat.git","description":"Create an account and send an invitation link to your friends to start chatting with them: save your chats, see who is online and check the “is typing” feature. You can also delete your friends. No frontend framework is used. Built with: JavaScript, Node.js, Socket.IO, Websockets, MongoDB","language":"JavaScript","stars":10,"topics":["chat","express","live-chat","mongodb","nodejs","socket-io","chat-application","chatroom","vanilla-javascript","jasonwebtoken"],"license":null,"category":"chat-messaging","readme_excerpt":"DESKTOP VIEW ------------- MOBILE FRIENDS SECTION VIEW MOBILE CHAT SECTION VIEW ------------- ------------- How to run the project locally After cloning the repo, move onto the project root directory and run npm install to install the packages of the project. Then start the node server with nodemon (live reload feature) on port 3000 npm start or simply run node app.js To locally serve the web page enter in the browser http://localhost:3000 Features Responsive Live Chat with Socket.IO - Create an account and send an invitation link to your friends to start chatting with them. Save all your chats . See who is online and check the “is typing” feature. You can also delete your friends. Authentication handled with JWT . App built with Node.js/Express, Socket.IO and MongoDB. No frontend framework is used. HOW DOES IT WORK? There is one main web page , where the DOM gets continuously updated by JavaScript. Initialization - As soon as the user loads the web page, JS will look for a JWT stored in the browser localStorage : - If no token is found, the user is requested to log in with to get and save a new valid token. If the user does not have any account yet, then he/she must sign up before logging in by entering a valid user name and password. - If a token is found , then the the client will use this token to perform these subsequent actions: - Fetch all the chats for this user (first 20 messages for each chat are collected), and display them on screen. - Request the server to open a","default_branch":null,"files":null,"tree":[],"storefront":"/r/orDaor","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/orDaor/socket.io-live-chat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}