SO
Sohail-Ali-Khwazada/Iconnect
Real-time one-to-one chat app with JWT-based auth, end-to-end encryption, typing indicators, online status, and responsive UI using Tailwind CSS. Built with Socket.io and REST API architecture.
๐ฌ iConnect
iConnect is a real-time chat application built using the MERN stack and Socket.io. It enables users to sign up, log in, and chat instantly with others. The app includes features like auto-generated profile pictures, online/offline status indicators, and a responsive interface built with Daisy UI.
๐ Features
- ๐ Secure user authentication using JSON Web Tokens (JWT)
- ๐ฌ Real-time one-to-one messaging via Socket.io
- ๐ End-to-end encryption (E2EE) for secure conversations
- โจ๏ธ Typing indicators to enhance chat interactivity
- ๐ผ๏ธ Auto-generated profile pictures of initial according to username
- ๐ข Online/offline user status indicators
- ๐ฑ Fully responsive UI using Daisy UI + Tailwind CSS
- ๐ RESTful API architecture for frontend-backend communication
- ๐งฉ Clean and scalable folder structure with separate client and server codebases
๐ ๏ธ Tech Stack
Frontend:
- React
- Daisy UI
- Tailwind CSS
Backend:
- Node.js
- Express.js
- MongoDB with Mongoose
Other Tools:
- Socket.io (real-time communication)
- JWT (authentication)
- CORS and dotenv (config and cross-origin support)
๐ธ Screenshots
๐ฆ Installation (Local Setup)
Prerequisites
- Node.js and npm
- MongoDB installed and running locally or a cloud database (e.g., MongoDB Atlas)
1. Clone the Repository
git clone https://github.com/Sohail-Ali-Khwazada/Iconnect.git
cd iconnect2. Backend Setup (/backend)
cd backend
npm installCreate a .env file in the /backend folder and add:
MONGO_URI=your_mongodb_connection_string
ACCESS_TOKEN_SECRET=your_jwt_secret
FRONTEND_URI=http://localhost:5173
Then start the backend server:
npm run dev3. Frontend Setup (/frontend)
cd frontend
npm installCreate a .env file in the /frontend folder and add:
VITE_BACKEND_URI = "http://localhost:5000"
Then start the frontend:
npm run devYour React app will start on http://localhost:5173
๐ Environment Variables
| Variable | Description |
|---|---|
MONGO_URI |
MongoDB connection string |
ACCESS_TOKEN_SECRET |
Secret key for signing JWTs |
FRONTEND_URI |
Allowed CORS origin (frontend URL) |
๐ Folder Structure
iconnect/
โโโ frontend/ # React frontend (Vite)
โ โโโ src/
โ โโโ public/
โ โโโ ...
โโโ backend/ # Node.js backend
โ โโโ routes/
โ โโโ controllers/
โ โโโ models/
โ โโโ middleware/
โ โโโ ...
โโโ README.md
On this page
Contributors
Created July 23, 2024
Updated August 5, 2025


