Skip to content

A chat system that uses client-server communication and has an admin that is able to chat with users. The admin has a special namespace where they can see all active users that want to chat as well as "tabs" where the communication with unique users happens. A MongoDB database is used to persist the messages in each chat room in case of a reload…

Notifications You must be signed in to change notification settings

lbragile/ChatIn

Repository files navigation

ChatIn

Description

A chat system with an admin and users that communicate with the admin. The admin has a special namespace where they can see all active users that want to chat as well as "tabs" where the communication with unique users happens. A MongoDB database is used to persist the messages in each chat room in case of a reload/disconnect event.

Demo

checkmate

Usage:

Clone the Repository

  • git clone https://github.com/lbragile/ChatIn.git
  • cd ChatIn

Install the required dependencies

  • npm install

Run the application

  • npm start OR npm run devStart

Todo

Major
  • Get communication between client and admin to work
  • Admin must have a list of users to choose from to enter the chat room with.
  • Database communication to store (persist) messages upon reload/disconnect.
  • Optimize Style - make a button for chat pop out like Messenger.
Minor
  • Registration page, password hashing and storage in database, email verification.
  • Login persistence (cookies)

Implementation Details:

  • Bootstrap 4
  • NodeJS & ExpressJS
  • Socket.io
  • MongoDB (Mongoose)
  • Model View Controller (MVC) Design Pattern

About

A chat system that uses client-server communication and has an admin that is able to chat with users. The admin has a special namespace where they can see all active users that want to chat as well as "tabs" where the communication with unique users happens. A MongoDB database is used to persist the messages in each chat room in case of a reload…

Topics

Resources

Stars

Watchers

Forks

Sponsor this project