A modern, feature-rich video conferencing application built with React, Node.js, Socket.IO, and WebRTC.
- HD Video & Audio Calls with WebRTC technology
- Real-time Chat with message history
- Screen Sharing for presentations
- Reactions & Emojis for interactive meetings
- Participant Management with user controls
- More Tools including Notepad and Whiteboard
- Mobile Responsive design for all devices
- Professional UI with modern design
Visit: https://procomm-india.vercel.app
- Frontend: React 18, TailwindCSS, Lucide React Icons
- Backend: Node.js, Express, Socket.IO
- WebRTC: PeerJS for peer-to-peer connections
- Styling: TailwindCSS with responsive design
- Deployment: Vercel for production hosting
- Modern React Frontend with responsive design
- Dark/Light Theme Toggle with localStorage persistence
- Interactive Chatbot Widget with voice input and text messaging
- Real-time Video Conferencing using WebRTC and Socket.IO
- Meeting Management - Create, join, and manage video meetings
- Participant Management - Email-based meeting invitations and validation
- Screen Sharing capabilities
- Chat Messaging during meetings
- Professional UI/UX with smooth animations and transitions
- React 18 with functional components and hooks
- React Router for navigation
- Tailwind CSS for styling
- Framer Motion for animations
- Lucide React for icons
- Socket.IO Client for real-time communication
- PeerJS for WebRTC connections
- Node.js with Express server
- Socket.IO for real-time messaging
- UUID for meeting ID generation
- CORS for cross-origin requests
- Helmet for security
- Compression for performance
procomm-app/
βββ client/ # React frontend
β βββ public/
β βββ src/
β β βββ components/ # Reusable components
β β β βββ Navbar.js
β β β βββ Chatbot.js
β β β βββ JoinMeetingModal.js
β β β βββ CreateMeetingModal.js
β β βββ pages/ # Page components
β β β βββ Login.js
β β β βββ Home.js
β β β βββ Profile.js
β β β βββ Support.js
β β β βββ VideoRoom.js
β β βββ context/ # React contexts
β β β βββ ThemeContext.js
β β βββ App.js
β β βββ index.js
β β βββ index.css
β βββ package.json
βββ server/ # Node.js backend
β βββ routes/
β β βββ auth.js # Authentication routes
β β βββ meetings.js # Meeting management routes
β βββ server.js # Main server file
β βββ package.json
βββ package.json # Root package.json with scripts
- Toggle between Light and Dark modes
- Persistent theme settings using localStorage
- Smooth transitions between themes
- Minimizable/maximizable widget
- Voice input using Web Speech API
- Text messaging capabilities
- Positioned at bottom-right corner
- Create meetings with participant invitations
- Join meetings with email validation
- Real-time participant management
- Meeting access control
- WebRTC peer-to-peer connections
- Camera and microphone controls
- Screen sharing functionality
- Real-time chat during meetings
- Responsive design for all screen sizes
- Professional color palette maintained
- Smooth animations and transitions
- Clean, modern interface
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd procomm-app- Install all dependencies
npm run install-all- Start the development environment
npm run devThis will start:
- React frontend on
http://localhost:3000 - Node.js backend on
http://localhost:3001 - PeerJS server on
http://localhost:3002
- Frontend only:
npm run client - Backend only:
npm run server - PeerJS server only:
npm run peer
Create a .env file in the server directory:
NODE_ENV=development
PORT=3001
CLIENT_URL=http://localhost:3000
PEER_HOST=localhost
PEER_PORT=3002- Go to the Dashboard
- Click "New Meeting"
- Add meeting title and description
- Invite participants by email
- Start the meeting or share the meeting link
- Click "Join Meeting" on the Dashboard
- Enter the meeting ID or link
- Provide your name and email
- Join the meeting (email must be on the invited list)
- Click the chat icon in the bottom-right corner
- Type messages or use the microphone for voice input
- Get help with ProComm features and troubleshooting
- Go to Profile β Settings
- Use the Theme toggle to switch between Light/Dark mode
- Setting is automatically saved to localStorage
- Email-based meeting access control
- Helmet.js for security headers
- CORS configuration for controlled access
- Input validation and sanitization
- Primary Blue:
#2563eb(maintained from original) - Success Green:
#28a745 - Gray Scale: Various shades for backgrounds and text
- Dark Mode: Adjusted colors for dark theme
- Font: 'Segoe UI', Arial, sans-serif
- Responsive text sizes
- Consistent font weights
npm run build
npm start- Set
NODE_ENV=production - Configure proper CORS origins
- Set up SSL certificates for production
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed as All Rights Reserved Β© 2025 Varun Kumar R.
You may not use, copy, modify, or distribute this project without prior permission.
For permission requests, please contact me: enquiretovarun@gmail.com
See the LICENSE file for details.
Varun Kumar R - Software Developer
- Complete React Migration - Converted from HTML/CSS/JS to modern React
- Enhanced UI/UX - Professional, modern design with improved user experience
- Theme System - Dark/Light mode toggle with persistence
- Interactive Chatbot - AI-powered assistant with voice and text input
- Better Architecture - Clean separation between frontend and backend
- Improved Performance - Optimized code and better resource management
- Mobile Responsive - Works seamlessly on all device sizes
The application maintains the same core functionality while providing a much more modern, professional, and user-friendly experience.