Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sabkat-ahmed-rafi/connectpro
ConnectPro is a real-time chat application designed to provide seamless messaging, audio, and video call functionalities.
https://github.com/sabkat-ahmed-rafi/connectpro
express javascript nodejs reactjs socket-io tailwind webrtc websocket
Last synced: 15 days ago
JSON representation
ConnectPro is a real-time chat application designed to provide seamless messaging, audio, and video call functionalities.
- Host: GitHub
- URL: https://github.com/sabkat-ahmed-rafi/connectpro
- Owner: sabkat-ahmed-rafi
- Created: 2024-07-01T10:51:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-12T04:25:34.000Z (about 2 months ago)
- Last Synced: 2024-10-03T22:15:02.050Z (about 1 month ago)
- Topics: express, javascript, nodejs, reactjs, socket-io, tailwind, webrtc, websocket
- Language: JavaScript
- Homepage: https://connectprofrontend1212.vercel.app
- Size: 470 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# ConnectPro
**ConnectPro** is a real-time chat application designed to provide seamless messaging, audio, and video call functionalities. Built using **Socket.IO** for real-time communication, **WebRTC** for video/audio calls, and a tech stack including **Node.js**, **Express**, **React**, and **MongoDB**, this project enables users to connect in a modern, dynamic chat environment.
## Features
- **Real-Time Messaging**: Chat with friends instantly using Socket.IO.
- **Audio & Video Calls**: Connect with others through high-quality audio and video powered by WebRTC.
- **User Authentication**: Secure login and registration system.
- **Responsive UI**: Designed with a mobile-first approach, works seamlessly across all devices.
- **Dynamic Inbox**: See your message history and conversation list with live updates.
- **Call Timer**: Displays call duration during audio/video calls.## Tech Stack
- **Frontend**: React.js
- **Backend**: Node.js, Express.js
- **Database**: MongoDB
- **Real-Time Communication**: Socket.IO
- **Audio/Video**: WebRTC## Current Challenge
While **ConnectPro** works perfectly within a local network, there is a limitation with the **TURN server** configuration when trying to support audio and video calls over wider networks. Currently, the project uses a free community TURN server, which is not fully reliable for all network environments. This may cause the video/audio calls to fail or perform poorly across different networks.
### Next Steps
- **Upgrade to a paid or self-hosted TURN server**: To improve connectivity and ensure the app works across various networks, I’m exploring better TURN server options. This upgrade will enable more robust video and audio calls without the current network limitations.
## Getting Started
### Prerequisites
Ensure you have the following installed:
- [Node.js](https://nodejs.org/) (v14 or higher)
- [MongoDB](https://www.mongodb.com/) (local or Atlas)
- [npm](https://www.npmjs.com/)### Installation
1. Clone the repository:
```bash
git clone https://github.com/sabkat-ahmed-rafi/connectpro.git
cd connectpro