A Real-Time Chat Application built using Node.js, Express, Mongoose, Socket.io, Passport, & Redis. The configurations on production will be assigned from Environment Variables on Heroku, while the development configurations reside inside app/config/config.json file. You need to create a database on MongoLab, then create a database user, get the MongoDB URI, and assign it to dbURI. You need to register a new application on both Facebook and Twitter to get your tokens by which users can grant access to your application, and log in using their social accounts. The session needs a random string to make sure the session id in the browser is random. That random string is used to encrypt the session id in the browser, Why? To prevent session id guessing. Each user has a username, password, social Id, and picture. If the user is logged in via username and password, then the social Id has to be null, and the if logged in via a social account, then the password will be null.

Features

  • Uses Express as the application Framework
  • Manages Sessions using express-session package
  • Authenticates via username and password using Passport
  • Passwords are hashed using bcrypt-nodejs package
  • Social Authentication via Facebook and Twitter using Passport
  • Real-time communication between a client and a server using Socket.io

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow chat.io

chat.io Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of chat.io!

Additional Project Details

Programming Language

JavaScript

Related Categories

JavaScript Frameworks, JavaScript Web Development Software

Registered

2022-10-31