Welcome to Connecto, a feature-rich real-time chat application built using the MERN stack. This project enables seamless communication with real-time messaging, media sharing, and group chat capabilities, ensuring a smooth and interactive user experience.
- βοΈ React + Redux
- π¨ Material-UI
- β‘ Socket.io-client
- ποΈ Node.js + Express
- π JWT Authentication (jsonwebtoken, bcrypt)
- π Socket.io (Real-time WebSockets)
- π’οΈ MongoDB + Mongoose
- π GridFS for file storage
β
User Authentication β Secure signup & login using JWT authentication.
β
Real-Time Messaging β One-on-one & group chat powered by WebSockets (Socket.io).
β
Media Sharing β Upload and share images/videos in chat.
β
Online Status Tracking β Displays "Online" & "Last Seen" status updates.
β
Typing Indicators β Know when someone is typing in real-time.
β
Infinite Scrolling in Chat β Seamless message loading via pagination.
β
Admin Dashboard β Manage users, media, and data visualization with Chart.js.
π½οΈ Must Watch Video β Check out this video where I explore all features of Connecto in detail! π¬ Watch Here
π¨βπΌ Receive Real-Time Notifications for messages, media uploads, and critical events.
π Data Visualization Dashboard β Analyze user activity with charts.
ποΈ Manage Media Uploads β Review, approve, or delete images/videos.
π¬ Send & Receive Messages instantly.
π· Upload & Share Media with Cloudinary integration.
π’ See Live User Status β Know whoβs online in real time.
β¨οΈ Typing Indicators β See when someone is typing.
π₯ Group Chat Support β Create and manage group conversations.
{
"_id": "ObjectId",
"name": "Shivam Javiya",
"email": "shivam@example.com",
"password": "hashed_password",
"profilePicture": "image_url",
"isOnline": true,
"lastSeen": "2024-02-02T10:30:00Z"
}
{
"_id": "ObjectId",
"senderId": "ObjectId",
"receiverId": "ObjectId",
"groupId": "ObjectId | null",
"message": "Hello, how are you?",
"media": "file_url",
"timestamp": "2024-02-02T10:35:00Z"
}
{
"_id": "ObjectId",
"groupName": "Developers Chat",
"members": ["ObjectId1", "ObjectId2"],
"createdAt": "2024-02-02T10:30:00Z"
}
- π Node.js (v16 or higher)
- π MongoDB installed locally or MongoDB Atlas
# Clone the repository
https://github.com/ShivamJaviya/chatapp.git
cd Connecto
# Install dependencies for backend
cd server
npm install
# Install dependencies for frontend
cd ../client
npm install
# Start backend server
cd ../server
npm run dev
# Start frontend server
cd ../client
npm start
Method | Endpoint | Description |
---|---|---|
POST | /api/auth/signup |
Register a new user |
POST | /api/auth/login |
Login & get JWT token |
Method | Endpoint | Description |
---|---|---|
POST | /api/messages |
Send a new message |
GET | /api/messages/:id |
Get chat messages for a user |
Made with β€οΈ by Shivam Javiya for VMukti Solutions. π