š¹ The Chat App Project is a powerful, real-time messaging application designed for seamless and efficient communication.
š¹ This repository contains the complete source code for a feature-rich chat application, covering both frontend and backend implementations, user authentication, and real-time messaging using WebSockets.
š” Perfect for: Developers looking to explore chat application development, real-time communication, and WebSocket integration.
š Core Functionalities:
ā
Secure User Authentication (Signup/Login) š
ā
Real-Time Messaging using WebSockets š¬
ā
Customizable User Profiles š·ļø
ā
Typing Indicators & Read Receipts š
ā
Media Sharing (Images, Videos, Files) š
ā
Dark Mode for better UX š
ā
Responsive UI across all devices š±
š Frontend:
š Backend:
š Database: ChatAppDB
āāā š Users Collection
āāā š¬ Messages Collection
š Users Collection:
{
"_id": "ObjectId",
"username": "string",
"email": "string",
"password": "hashed_string",
"profilePicture": "string",
"status": "string",
"createdAt": "timestamp",
"updatedAt": "timestamp"
}
š Messages Collection:
{
"_id": "ObjectId",
"senderId": "ObjectId",
"receiverId": "ObjectId",
"message": "string",
"messageType": "string",
"seen": "boolean",
"createdAt": "timestamp"
}
š Prerequisites:
āļø Install Node.js (Latest LTS recommended)
āļø Install MongoDB and ensure it is running
š Setup & Run:
# Clone the repository:
git clone https://github.com/saikumarpeeka/Chat-App-Project.git
# Navigate into the project directory:
cd Chat-App-Project
# Install dependencies:
npm install
# Set up environment variables (create .env file)
# Start the backend server:
npm run server
# Start the frontend application:
npm start
# Open in Browser:
http://localhost:3000/
š Authentication
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/auth/register
| POST | Register a new user. |
| /api/auth/login
| POST | Authenticate and receive a JWT token. |
| /api/auth/logout
| POST | Logout user. |
š Chat & Messaging
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/chats
| GET | Fetch user chats. |
| /api/chats/send
| POST | Send a message. |
| /api/chats/:id
| GET | Retrieve a specific chat. |
š User Management
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/users/:id
| GET | Fetch user profile details. |
| /api/users/update
| PUT | Update user information. |
1ļøā£ Register/Login to your account.
2ļøā£ Start conversations with users or create group chats.
3ļøā£ Exchange messages, media files, and experience real-time conversations.
4ļøā£ Customize your profile and manage settings.
ā
Fork this repository.
ā
Create a new branch (feature-newFeature
or bugfix-issue
).
ā
Commit your changes with clear messages.
ā
Push your changes to your forked repo.
ā
Create a pull request (PR) describing your modifications.
We ā¤ļø contributions! š
For any issues, suggestions, or feature requests, feel free to raise an issue on the repository or reach out to saikumarr.peeka@gmail.com.