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.