Transform your coding experience with real-time collaboration! Write, share, and execute Python/C++/Java code together in a powerful, intuitive environment.
You can view or download the file from the link: Video
- Real-time collaboration with live editing, cursor tracking, and room-based sessions
- Powerful editor with syntax completion, auto-indentation, and in-browser Python execution
- Secure authentication, private rooms, and sandboxed code execution
- Built-in chat for team discussions
- Python 3.9+
- Docker
- Docker Compose
git clone https://github.com/ShauryaDusht/CodeTogether.git
cd CodeTogether
-
Create a Virtual Environment:
python3 -m venv venv
For Linux:
source venv/bin/activateFor Windows:
.\venv\Scripts\activate
-
Install Requirements:
pip install -r requirements.txt
Create a .env file in the root directory with the following content:
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhostpython manage.py migratepython manage.py runserverOpen your browser and access the app at http://127.0.0.1:8000.
Ensure the .env file is present with the following content:
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost-
Build and Run the Application:
docker-compose up --build
-
Stop the Application:
docker-compose down
Open your browser and access the app at http://127.0.0.1:8000.
- Django & Django Channels for robust server-side operations
- WebSocket implementation for real-time features
- Modern Bootstrap UI for responsive design
- Advanced code editor integration
- SQLite (default) for easy setup
- Scalable to PostgreSQL for production
- Docker Compose for container orchestration
- Environment-based configuration
collaborative_code_editor/ # Root project directory
│
├── collaborative_code_editor/ # Project configuration
│ ├── __init__.py
│ ├── asgi.py # ASGI configuration (needed for WebSockets)
│ ├── settings.py # Project settings
│ ├── urls.py # Main URL configuration
│ └── wsgi.py # WSGI configuration
│
├── code_editor/ # Main app
│ ├── migrations/
│ │ └── __init__.py
│ │
│ ├── templates/ # HTML templates
│ │ ├── code_editor/
│ │ │ ├── home.html
│ │ │ ├── join_room.html
│ │ │ └── room.html
│ │ └── authentication/
│ │ ├── login.html
│ │ └── register.html
│ │
│ ├── admin.py # Admin interface configuration
│ ├── apps.py # App configuration
│ ├── consumers.py # WebSocket consumers
│ ├── models.py # Database models
│ ├── routing.py # WebSocket URL routing
│ ├── urls.py # HTTP URL routing
│ └── views.py # HTTP views
│
├── static/ # Static files
│ └── code_editor/
│ ├── css/
│ │ ├── auth.css # Authentication styles
│ │ ├── join_room.css # Join room page styles
│ │ └── style.css # Global styles
│ └── js/
│ └── script.js # Frontend JavaScript
│
├── .gitignore # Git ignore file
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Docker configuration
├── LICENSE # Project license
├── manage.py # Django management script
├── README.md # Project documentation
├── .env # Environment variables file (to be created)
└── requirements.txt # Project dependencies
- Backend: Django, Django Channels
- Frontend: Bootstrap
- Database: SQLite (default)
- WebSockets: Real-time communication
- Containerization: Docker
This project was crafted with dedication and collaboration by a passionate team committed to enhancing the coding experience with innovative features and seamless integration.