This app is created using React, Redux, socket.io, NodeJS, and mongoDB with clean UI and JWT is used for encryption and authentication. You can simply register/login and then can add any user of the web-app to chat with. You can send video, photos and text messages to other user. You can also change your profile pic and display name according to you. Cloudinary is used to handle media exchange in the chat. MongoDB is used to store messages, conversation and user credentials. Here is the short video of the app:
compressed.1.-.COMPRESS.mp4
To run the app locally you first need to create account on mongoDB and cloudinary and setup the .env file. Then in server folder do npm i then npm run dev and in client folder do npm i then npm start