Skip to content

mohantechnology/chat-app

Repository files navigation

Chat App

Html, Css, Javascript, Nodejs (Express), MongoDb
Front end is built using pure HTML, CSS and JavaScript without using any other external libraries

Test Account Credentials
  1. email: mohansahualbert@gmail.com , password: mohansahualbert@gmail.com
  2. email: mohansahulast@gmail.com , password: mohansahulast@gmail.com

Configuration


  • Setup Environment by running the following commands in terminal
    1. git clone git@github.com:mohantechnology/chat-app.git - clone repository
    2. npm install - to install dependencies
    3. npm start - to run the server


    Configure Socket server

  • Configure your env variables in .env file
  • API_URL: Database API domain name
    SELF_URL: Self domain name
    JWT_SECRET_KEY: Any string value for JWT token
    SOCKET_URL: URL of socket server
    SOCKET_FILE: URL of socket file

    Detail of Mail service
    EMAIL: email address
    EMAIL_PASS: email password
    SERVICE: email service provider

  • For Inserting Sample Data
npm run feed
  • For Testing
npm run test
  • For Linting files
npm run lint



Overview


  • It is a Chat App built using HTML, CSS, JavaScript for frontend and Node, Express as backend with MongoDB as database. It uses socket.io library for real time communication. This chat app has the following features.

    1. Register Account
    2. Activate Account
    3. Make New Friends
    4. Real Time chatting
    5. Forgot Password
    6. File Sharing
    7. Video Calling

Visual DEMO


  • User can Create their Account

  • After creating account an Email verification mail is sent to Activate user Account

  • Users can update their profile

  • User can find new friends and send friend request

  • Incoming Request can be accepted by other users

  • User gets notification if anyone accepted his friend request

  • Real time chatting can be done between two friends

  • Messages can also be sent when receiver is offline

  • Multiple files can be shared

  • Searching keyword can be done in chat list

  • Friends can have Video Calls
    chat-video-call.mp4

  • Password can be easily reset using Verification Link or OTP