All Projects → anijitsahu → react-app-simple-chat-app

anijitsahu / react-app-simple-chat-app

Licence: other
A Simple Chat Application using MERN stack (MongoDB, Express JS, React JS, Node JS) and Socket.io for real time chatting

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to react-app-simple-chat-app

Nodejs Socketio Chat App
MEAN Stack & Socket.IO Real-time Chat App | A MEAN stack based Real Time chat application
Stars: ✭ 45 (+9.76%)
Mutual labels:  css3, socket-io, expressjs, chat-application
Vue Qq
🎨 Vue family bucket with socket.io and express/koa2 , create a web version of mobile QQ, supporting real-time group chat, real-time private chat, special care, shielding chat, smart IP geographic location, real-time display temperature and other QQ core functions
Stars: ✭ 861 (+2000%)
Mutual labels:  css3, socket-io, axios, async-await
add-my-name
No more WhatsApp spams 🎉
Stars: ✭ 16 (-60.98%)
Mutual labels:  axios, mern-stack, react-hooks
MERN-BUS-APP
This is a MFRP (My first Real Project) assigned to me during my internship at Cognizant. Made with MERN Stack technology.
Stars: ✭ 92 (+124.39%)
Mutual labels:  css3, mongodb-atlas, react-hooks
Natours
An awesome tour booking web app written in NodeJS, Express, MongoDB 🗽
Stars: ✭ 94 (+129.27%)
Mutual labels:  css3, expressjs, mongodb-atlas
spiced-final-project
Career explorer platform developed in React.js in 6 days.
Stars: ✭ 14 (-65.85%)
Mutual labels:  socket-io, expressjs, axios
AmigoChat-Realtime-Chat-Application
AmigoChat is a responsive real-time chat application built on MERN Stack and Socket io.
Stars: ✭ 22 (-46.34%)
Mutual labels:  socket-io, expressjs, mern-stack
bubbly
Full stack chat application created w/ Next.js, Socket.IO, Express, React and TypeScript
Stars: ✭ 24 (-41.46%)
Mutual labels:  socket-io, expressjs, chat-application
youphonic
an online musical machine interface for building and sharing soundscapes and musical compositions
Stars: ✭ 28 (-31.71%)
Mutual labels:  css3, expressjs
Chattt
❯❯❯ Chat without leaving your terminal
Stars: ✭ 239 (+482.93%)
Mutual labels:  socket-io, chat-application
Vue Music Player
🎵Vue.js写一个音乐播放器+📖One(一个).A music player + One by Vue.js
Stars: ✭ 729 (+1678.05%)
Mutual labels:  css3, axios
W3develops
The w3develops.org open source codebase - Learn, build, and meetup with other developers on DISCORD https://discord.gg/WphGvTT and YOUTUBE http://bit.ly/codingyt
Stars: ✭ 120 (+192.68%)
Mutual labels:  css3, expressjs
Video Call App Nodejs
A conference call implementation using WebRTC, Socket.io and Node.js
Stars: ✭ 234 (+470.73%)
Mutual labels:  socket-io, chat-application
Naice Blog
😺 新的博客上线啦
Stars: ✭ 93 (+126.83%)
Mutual labels:  css3, axios
Echat
基于Vue的点对点聊天项目
Stars: ✭ 130 (+217.07%)
Mutual labels:  css3, axios
Softuni
SoftUni Courses
Stars: ✭ 98 (+139.02%)
Mutual labels:  css3, expressjs
promotion-web
基于React: v18.x.x/Webpack: v5.x.x/React Router v6.x.x/ Antd: v5..x.x/Fetch Api/ Typescript: v4.x.x 等最新版本进行构建...
Stars: ✭ 374 (+812.2%)
Mutual labels:  react-hooks, webpack5
Vue Cnode
🔥Vue.js打造一个开源的CNode社区。CNode by Vue.js
Stars: ✭ 249 (+507.32%)
Mutual labels:  css3, axios
shrtn-it
A url shortener developed as a course completion project
Stars: ✭ 16 (-60.98%)
Mutual labels:  expressjs, axios
Vuesocial
something like QQ、weibo、weChat(vue+express+socket.io仿微博、微信的聊天社交平台)
Stars: ✭ 189 (+360.98%)
Mutual labels:  socket-io, axios

react-app-simple-chat-app

A Simple Chat Application using React JS, a JavaScript library to make awesome UI by Facebook, Node JS, Express JS and MongoDB.

This application uses React JS component oriented UI creation paradigm. All components are written in JSX and ES6 style and are combined to get a single build for production purpose using Webpack 5.

ES6 module creation along with import /export is used. Babel is used to transpile all JSX code to vanilla JavaScript code. To install all the dependecies npm is used.

Back end is implemented using Node JS, Express JS and MongoDB. Atlas, the Cloud version of MongoDB is used. Real time communication is done using Socket.io

For UI creation HTML5 and CSS3 are used. Grid, the new feature of CSS3 is used for layout creation purpose.

This is a responsive web application for viewing in both Mobile and Desktop.

Features

  • Code is rewritten with React JS 17 and Node JS 17
  • Latest features of JavaScript i.e. ES6, ES7, ES8 is used
  • React JS Hooks are used with Functional components
  • ES8 async/await is used

  • This is Simple Chat Application
  • It is a Full Stack Application
  • All the user details, rooms and conversations are stored in the MongoDB Atlas. This is a free/ shared account on Atlas. So Please use it wisely
  • Login as well as Logout feature is added
  • Error will be shown if the credentials are not correct
  • for simplicity passwords are not encrypted
  • Real time communication is supported using Socket.io
  • Rooms with users are supported
  • Conversation of a specific rooms will be shown on clicking the corresponding room
  • for mobile screen user can go to the rooms page by clicking the <- icon at the end of the screen
  • Multiline message can be send by hitting Ctrl + ENTER
  • To send a message hit ENTER key
  • Online / Offline status are shown by the violet dot
  • Read / Unread status of conversation is supported
  • All the conversation are stored in the database i.e. persistant
  • All the timestamps are shown in UTC format to taken into cross browser differences

Installation

Clone the repository:

git clone https://github.com/anijitsahu/react-app-simple-chat-app.git

Navigate inside the directory:

cd react-app-simple-chat-app

Install all the necessary dependecies

npm install

Now run the server:

npm run server

Login to chat


  1. Open 2 web browser and typehttp://localhost:3000 in the address bar to load the application in each of them
  2. In one browser login with username anijit and password anijit123
  3. In another one login with username jeetm and password jeetm76 and enjoy chatting

Test users

Username Password
anijit anijit123
jeetm jeetm76

tested with Google Chrome 89 and Mozilla Firefox 86

Screenshots

Some screens of the application is given below for better understanding.

Desktop as well as Mobile version of the screenshots are given side by side.

Login Screen

Entering credentials

After submitting credentials

If credentials are not correct

After a successful login

When a new user joins

When a new user joins (2nd browser)

Sender type some message

Receiver's room is updated

Logout functionality

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].