Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pulse Chat 💬

A modern random video chat platform that enables users to instantly connect with strangers through real-time video, audio, and text communication. Pulse Chat delivers a seamless and engaging experience with peer-to-peer video calling, instant messaging, smart matchmaking, and interactive media controls.


🚀 Features

• 🎥 Peer-to-Peer Video Communication – Experience seamless real-time face-to-face conversations powered by WebRTC.

• 🎙️ Low-Latency Voice Streaming – High-quality audio transmission for natural and uninterrupted conversations.

• 💬 Instant Messaging System – Exchange messages instantly with live real-time chat functionality.

• 🔀 Smart Random Matchmaking – Connect instantly with random users through dynamic user pairing.

• ⏭️ Seamless Session Switching – Skip the current conversation and get matched with a new user instantly.

• 🎛️ Media Device Controls – Dynamically manage video and audio streams with built-in media controls.

• 🟢 Live Presence Monitoring – View active online users in real time.

• 🛡️ Safety Verification Gateway – Age verification flow designed to encourage safer interactions.

• ⚡ Real-Time Communication Architecture – Built using WebRTC and Socket.IO for fast and responsive communication.

• 📱 Cross-Device Responsive Experience – Optimized interface for desktop and mobile devices.

• 🔐 Privacy-Focused Communication – Peer-to-peer media streaming designed for secure real-time interactions.


🛠️ Tech Stack

Frontend

  • React.js
  • Tailwind CSS
  • Socket.IO Client
  • WebRTC
  • Vite

Backend

  • Node.js
  • Express.js
  • Socket.IO

Deployment

  • Frontend: Vercel
  • Backend: Render

⚙️ Installation & Setup

1. Clone the Repository

git clone https://github.com/your-username/pulse-chat.git
cd pulse-chat

2. Install Dependencies

Frontend

cd frontend
npm install

Backend

cd backend
npm install

🔑 Environment Variables

Create a .env file inside the frontend folder:

VITE_BACKEND_URL=http://localhost:3000

▶️ Run Locally

Start Backend

cd backend
npm run dev

Start Frontend

cd frontend
npm run dev

Frontend runs on:

http://localhost:5173

Backend runs on:

http://localhost:3000

🌍 Live Demo

Frontend: Add your Vercel link here

Backend: Add your Render link here


📁 Project Structure

PulseChat/
│── frontend/
│   ├── public/
│   ├── src/
│   │   ├── assets/
│   │   ├── components/
│   │   │   ├── ChatArea.jsx
│   │   │   ├── Sidepanel.jsx
│   │   │   └── VideoArea.jsx
│   │   │
│   │   ├── pages/
│   │   │   └── Home.jsx
│   │   │
│   │   ├── utils/
│   │   │   └── webrtc.js
│   │   │
│   │   ├── App.jsx
│   │   ├── main.jsx
│   │   └── index.css
│   │
│   ├── .env
│   ├── package.json
│   └── vite.config.js
│
│── backend/
│   ├── index.js
│   ├── package.json
│   └── server.js
│
├── README.md
└── docker-compose.yml

🔮 Future Improvements

• Emoji support in chat
• Typing indicators
• User reporting and moderation system
• Authentication and profile system
• Interest / preference based matching
• Enhanced TURN server reliability for cross-network communication
• AI-powered moderation for safer conversations


📄 License

This project is licensed under the MIT License.


👨‍💻 Author

Muneeb Moosa V V

If you found this project interesting, consider giving it a ⭐ on GitHub.

About

A real-time stranger video chat platform featuring WebRTC-based peer-to-peer communication, live messaging, random matchmaking, and responsive UI.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages