Real-time Collaborative Code Editor
Code together in real-time with your team. Share ideas, collaborate seamlessly, and build amazing projects together.
Features β’ Demo β’ Tech Stack β’ Getting Started β’ Usage β’ Contributing
- Instant Synchronization: See changes as they happen with zero lag
- Multi-cursor Support: Track your team members' cursors in real-time
- Live Presence: Know who's online and actively editing
- Live Chat: Communicate without leaving the editor
- User Avatars: Identify team members at a glance
- Activity Indicators: See who's typing and active
- Integrated Whiteboard: Sketch ideas and create diagrams
- Real-time Drawing Sync: Collaborate on visual concepts
- Export Capabilities: Save your drawings
- Smart Code Suggestions: Get intelligent completions powered by Google Gemini AI
- Code Explanations: Understand complex code with AI assistance
- Refactoring Help: Improve your code quality with AI recommendations
- Monaco Editor: The same editor that powers VS Code
- Syntax Highlighting: Support for 50+ programming languages
- Auto-completion: Intelligent code completion
- Multiple Themes: Choose from light and dark themes
- No Sign-up Required: Start coding instantly with a room ID
- File Management: Create, edit, and organize files and folders
- Code Execution: Run code directly in the browser (multiple languages)
- Download Projects: Export your entire workspace
Live Demo: Try CodeFlow Now
Beautiful landing page with smooth animations
Real-time collaborative code editor with live cursors
Built-in chat for seamless team communication
- React 18 - UI library
- TypeScript - Type safety
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first styling
- Monaco Editor - Code editor component
- Socket.IO Client - Real-time communication
- React Router - Client-side routing
- Zustand/Context API - State management
- Node.js - Runtime environment
- Express - Web framework
- Socket.IO - WebSocket server
- TypeScript - Type safety
- Google Gemini AI - AI-powered code assistance
- Vercel - Frontend deployment (recommended)
- Docker - Containerization (optional)
- GitHub Actions - CI/CD (optional)
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn or pnpm
- Git
-
Clone the repository
git clone https://github.com/Harjotraith04/LiveWire.git cd LiveWire -
Install dependencies
For the client:
cd client npm installFor the server:
cd ../server npm install -
Set up environment variables
Create a
.envfile in theserverdirectory:PORT=3000 GEMINI_API_KEY=your_gemini_api_key_here CLIENT_URL=http://localhost:5173
Create a
.envfile in theclientdirectory (if needed):VITE_SERVER_URL=http://localhost:3000
-
Start the development servers
Terminal 1 - Start the backend:
cd server npm run devTerminal 2 - Start the frontend:
cd client npm run dev -
Open your browser
Navigate to
http://localhost:5173to see the application running.
- Click "Get Started Free" on the landing page
- Enter your username
- Either:
- Create a new room: A unique room ID will be generated
- Join existing room: Enter a room ID shared by your team
- Share the Room ID with your team members
- Start coding - changes sync in real-time
- Use the chat to communicate
- Draw diagrams using the integrated whiteboard
- Get AI help for code suggestions and explanations
Ctrl/Cmd + S- Save fileCtrl/Cmd + /- Toggle commentCtrl/Cmd + F- FindCtrl/Cmd + H- ReplaceF11- Toggle fullscreen
LiveWire/
βββ client/ # Frontend React application
β βββ public/ # Static assets
β βββ src/
β β βββ api/ # API utilities
β β βββ assets/ # Images, logos, etc.
β β βββ components/ # React components
β β βββ context/ # Context providers
β β βββ hooks/ # Custom React hooks
β β βββ pages/ # Page components
β β βββ styles/ # Global styles
β β βββ types/ # TypeScript types
β β βββ utils/ # Utility functions
β βββ package.json
β βββ vite.config.mts
β
βββ server/ # Backend Node.js application
β βββ src/
β β βββ types/ # TypeScript types
β β βββ ai-service.ts # AI integration
β β βββ server.ts # Main server file
β βββ package.json
β βββ tsconfig.json
β
βββ docs/ # Documentation
βββ README.md # This file
CodeFlow supports multiple themes. You can switch themes in the settings panel.
To add support for new programming languages:
- Update the language list in
client/src/utils/customMapping.ts - Configure Monaco editor language support
- Add execution support in the backend (if needed)
cd client
npm run testcd server
npm run testcd client
npm run buildThe built files will be in client/dist/
cd server
npm run buildThe built files will be in server/dist/
- Push your code to GitHub
- Import project in Vercel
- Set root directory to
client - Deploy!
- Choose your platform
- Connect your GitHub repository
- Set root directory to
server - Add environment variables
- Deploy!
# Build and run with Docker Compose
docker-compose up -dContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch
git checkout -b feature/AmazingFeature
- Commit your Changes
git commit -m 'Add some AmazingFeature' - Push to the Branch
git push origin feature/AmazingFeature
- Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting PR
If you find a bug, please create an issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Your environment details
Have an idea for a new feature? We'd love to hear it!
- Open an issue with the
enhancementlabel - Describe the feature and its benefits
- Provide examples or mockups if possible
This project is licensed under the MIT License - see the LICENSE file for details.
- Harjot Singh - Harjotraith04
- Monaco Editor - The code editor
- Socket.IO - Real-time engine
- Google Gemini AI - AI capabilities
- Tailwind CSS - Styling framework
- React - UI library
- Vite - Build tool
- GitHub: @Harjotraith04
- Project Link: https://github.com/Harjotraith04/LiveWire
If you like this project, please consider giving it a β on GitHub!
Made with β€οΈ by developers, for developers
Β© 2025 CodeFlow. All rights reserved.