Skip to content
This repository was archived by the owner on May 17, 2025. It is now read-only.

Latest commit

 

History

History
86 lines (66 loc) · 2.57 KB

File metadata and controls

86 lines (66 loc) · 2.57 KB
Logo

💬 ChatApp

Github

📄 About The Project

An end-to-end encrypted real-time communication webapp project developed using NodeJS and Express. This project was created for educational purposes and includes copyrighted assets along with several bugs.

📐 Architecture & Design

• Back-End Framework: Node.js & Express

• Communication Protocol: WebSocket (Socket.io)

• Database: MongoDB

• Security: Password hashing (bCrypt) & end-to-end encryption (CryptoJS).

• Encryption Type: Asymmetrical encryption (Public-key encryption)

• Encryption Algorith: RSA

• Authentication: JWT

• Interface: EJS

Node Express JavaScript HTML5 MongoDB

❔ Setting up the project

  1. Clone the repository:
git clone https://github.com/5ukui/ChatApp
  1. cd into the directory that the repositry was cloned to:
cd /chatapp
  1. Install dependencies
npm install
  1. Set your mongoDB URI and the JWT signature in the .env file.
  2. Start the server
node app.js

🔎 Features & Screenshots

• User Signup/Login system and password hashing before storing it in the database

• User dropdown

• Search for and add friends


• View, accept, reject friend requests

• Friends drop-down list with functional chat button and realtime requests count

• Realtime end-to-end encrypted chat and conversation list