https://github.com/nurrahman2001/chat-app
ChatApp is a real-time messaging application developed using the MERN stack. It enables users to send text messages, manage contacts, and make secure audio and video calls using WebRTC. The app leverages Socket.IO for real-time communication, providing instant message delivery and status updates like typing indicators and online/offline status.
https://github.com/nurrahman2001/chat-app
chat-application jwt-authentication mern-stack real-time-communication socket-io tailwind-css webrtc
Last synced: 2 months ago
JSON representation
ChatApp is a real-time messaging application developed using the MERN stack. It enables users to send text messages, manage contacts, and make secure audio and video calls using WebRTC. The app leverages Socket.IO for real-time communication, providing instant message delivery and status updates like typing indicators and online/offline status.
- Host: GitHub
- URL: https://github.com/nurrahman2001/chat-app
- Owner: nurrahman2001
- License: mit
- Created: 2025-04-27T20:35:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-01T16:29:38.000Z (about 1 year ago)
- Last Synced: 2025-05-04T13:17:17.459Z (about 1 year ago)
- Topics: chat-application, jwt-authentication, mern-stack, real-time-communication, socket-io, tailwind-css, webrtc
- Language: JavaScript
- Homepage: https://chat-app-delta-ebon.vercel.app/
- Size: 49.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ChatApp
A real-time messaging application built with the MERN stack (MongoDB, Express, React, Node.js) and WebRTC for video and audio calling. This chat application allows users to chat, make audio/video calls, send messages, and share media in a secure and user-friendly environment.
## Features
- **Real-time Messaging**: Send and receive messages instantly using Socket.IO.
- **Audio & Video Calls**: Make and receive real-time audio/video calls using WebRTC.
- **User Authentication**: Secure user login/signup with email and JWT.
- **Contact Management**: Add, and manage contacts with custom names.
- **Avatar Upload**: Set and update your profile picture in the app.
- **Typing Indicators**: Shows when a user is typing a message.
- **Online Status**: Track the online status of contacts in real time.
- **Group Chats**: Create and manage group chats with multiple members.
- **Push Notifications**: Get notified for incoming calls.
## Technologies Used
- **Frontend**: React.js, Tailwind CSS, WebRTC, Socket.IO
- **Backend**: Node.js, Express.js, MongoDB
- **Authentication**: JWT (JSON Web Tokens).
- **Real-time Communication**: Socket.IO for message delivery, WebRTC for calls
- **Deployment**: Deployed on GitHub and can be hosted on platforms like Heroku or DigitalOcean.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/nurrahman2001/ChatApp.git
cd ChatApp
```
2. Install dependencies:
For the backend:
```bash
cd server
npm install
```
For the frontend:
```bash
cd client
npm install
```
3. Set up environment variables:
Create a `.env` file in the `server` directory with the necessary environment variables, such as:
```env
JWT_SECRET=your_jwt_secret
```
4. Run the application:
For the backend:
```bash
cd server
npm start or node index.js
```
For the frontend:
```bash
cd client
npm run dev
```
5. Open the app in your browser:
Visit `http://localhost:5173` to see the chat application in action.
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature-name`)
3. Commit your changes (`git commit -m 'Add some feature'`)
4. Push to the branch (`git push origin feature-name`)
5. Create a new Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.