Flux is a high-performance peer-to-peer video meeting application designed for seamless communication. It supports multi-user video calls, real-time chat, and screen sharing, all within a polished, responsive interface.
- P2P Video & Audio: High-quality real-time communication powered by PeerJS.
- Multi-User Mesh Networking: Connect with multiple participants in a direct peer-to-peer network.
- Host Controls: Only the meeting host can end the call for all participants.
- Real-Time Chat: Integrated chat system with message history and timestamps.
- Screen Sharing: Effortlessly share your screen with other participants.
- Responsive Design: Optimized for Desktop, Tablet, and Mobile with explicit 4:3 video ratios.
- Theming: Support for Dark and Light modes with customizable profile colors.
- Participants List: Easily view and manage current attendees and their media status.
- Framework: React 19
- Styling: Tailwind CSS 4
- Networking: PeerJS (WebRTC)
- Icons: Lucide React
- Animations: Framer Motion
- Node.js installed on your machine.
- Clone the repository or download the source code.
- Install dependencies:
npm install
Run the development server:
npm run devThe application will be available at http://localhost:3000.
This project includes a GitHub Action for automatic deployment.
- Push your code to the
mainbranch. - The Action will automatically build the project and push it to a
gh-pagesbranch. - In your GitHub repository settings, go to Settings > Pages.
- Under Build and deployment > Branch, select
gh-pagesand/ (root). - Your site will be live at
https://<username>.github.io/<repo-name>/.
To build manually and serve from the dist folder:
npm run build
npm run previewThis app uses direct peer-to-peer connections. For production environments, consider implementing a TURN server for better reliability across restrictive networks.