An open API service indexing awesome lists of open source software.

https://github.com/mandroid-31/a-chat-app-using-socket-and-react


https://github.com/mandroid-31/a-chat-app-using-socket-and-react

express javascript nodejs react socket-io

Last synced: over 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# Chat App

A real-time chat application built using the MERN stack, featuring user authentication and a custom video call functionality.

live-project: [Chat-app](https://real-time-chat-app-with-video-call-using.onrender.com/)


JavaScript Badge
Socket.io Badge
Node.js Badge
React Badge
MongoDB Badge
JWT Badge
Express.js Badge
Render Badge

## Features
- **User Authentication**: Secure sign-up and login using JWT.
- **Real-time Chat**: Instant messaging powered by WebSockets.
- **Video Calling**: Custom-built video call functionality.
- **User Profiles**: Update profile pictures and user details.
- **Media Sharing**: Share images, videos, and links within chats.
- **Responsive UI**: Mobile-friendly interface.

## Tech Stack
- **Frontend**: HTML, CSS, JavaScript, EJS
- **Backend**: Node.js, Express.js
- **Database**: PostgreSQL
- **WebSockets**: Socket.io for real-time communication
- **Authentication**: JWT for secure login

## Installation

1. Clone the repository:
```bash
git clone https://github.com/Manas-githu/A-chat-app-using-socket-and-react.git
```

2. Install dependencies:
```bash
npm install
```

3. Set up environment variables:
Create a `.env` file in the root directory and add:
```env
DATABASE_URL=your_database_url
JWT_SECRET=your_secret_key
```

4. Run the development server:
```bash
npm start
```

5. Open the app in your browser:
```
http://localhost:3000 --backend
http://localhost:5713 --frontend
```

## Future Improvements
- Implement group chats
- Add end-to-end encryption for messages
- Improve UI/UX with React (optional upgrade)

## Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.

## License
This project is licensed under the MIT License.