A real-time collaborative coding environment where multiple users can code together, chat, and communicate via voice.
- Real-time code collaboration
- Multiple programming language support
- Live chat functionality
- Code execution with output display
- Room-based collaboration
- React
- Socket.IO Client
- Monaco Editor
- Tailwind CSS
- Flask
- Flask-SocketIO
- Redis (for session management)
common-coding-room/
├── frontend/ # React frontend application
│ ├── public/ # Static files
│ └── src/ # React source code
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── utils/ # Utility functions
│ └── App.js # Main application component
├── backend/ # Flask backend server
│ ├── app.py # Main Flask application
│ ├── requirements.txt # Python dependencies
│ └── venv/ # Virtual environment
└── README.md # Project documentation
- Node.js (v14 or higher)
- Python (v3.8 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/common-coding-room.git
cd common-coding-room- Install frontend dependencies:
cd frontend
npm install- Install backend dependencies:
cd ../backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Start the backend server:
cd backend
source venv/bin/activate # On Windows: venv\Scripts\activate
python app.py- Start the frontend development server:
cd frontend
npm start- Open your browser and navigate to
http://localhost:3000
- Enter your username
- Create a new room or join an existing one using the room code
- Share the room code with others to collaborate
- Start coding, chatting
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.