A feature-rich collaborative code editor that allows multiple users to work on the same code simultaneously. The application includes realtime code synchronization, chat functionality, different language support, themes, and code execution capabilities.
- Realtime Code Collaboration: Multiple users can edit code simultaneously
- Language Support: Syntax highlighting for various programming languages
- Theme Selection: Choose from different editor themes
- Room Management: Create or join rooms with a unique ID
- User Presence: See who's currently active in the room
- Realtime Chat: Communicate with other users in the room
- Code Execution: Run your code and see the output
The application follows a structured layout:
- Top Header: Theme selector
- Left Sidebar: Room management, language selection, and user list
- Center: Code editor with an output panel below
- Right Sidebar: Realtime chat functionality
- Frontend: React, CodeMirror, Socket.io-client
- Backend: Node.js, Express, Socket.io
- Styling: CSS
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone https://github.com/DineshDumka/Realtime-Collaborative-Code-Editor.git cd Realtime-Collaborative-Code-Editor -
Install dependencies:
npm install -
Create a
.envfile in the root directory with the following content:REACT_APP_BACKEND_URL=http://localhost:5000
-
Start the backend server:
npm run server:dev -
Start the frontend development server in a new terminal:
npm start -
Open your browser and go to
http://localhost:3000
- Create a Room: Enter your name and click "Create New Room"
- Join a Room: Enter your name and the room ID, then click "Join"
- Share the Room ID: Use the "Copy Room ID" button to share with others
- Collaborate: Edit code together in real-time
- Chat: Use the chat panel to communicate
- Run Code: Click the "Run Code" button to execute and see output
- Change Settings: Select different themes or languages as needed
To deploy the application manually:
- Ensure you have Node.js (v14 or higher) and npm (v6 or higher) installed.
- Clone the repository:
git clone https://github.com/DineshDumka/Realtime-Collaborative-Code-Editor.git cd Realtime-Collaborative-Code-Editor - Install dependencies:
npm install - Create a
.envfile in the root directory with the following content:REACT_APP_BACKEND_URL=http://localhost:5000 - Start the backend server:
npm run server:dev - Start the frontend development server in a new terminal:
npm start - Open your browser and go to
http://localhost:3000
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Developed by Dinesh Dumka
