A feature-rich, real-time collaborative code editor built from the ground up.
In an era where development teams are more distributed than ever, the friction of remote collaboration is a significant real-world problem. How can we replicate the seamless, high-bandwidth experience of pair-programming when developers are miles apart?
Code Collaborator Platform is my answer to this challenge. It's a full-stack, ground-up implementation of a real-time collaborative environment that provides a shared, interactive coding space. It's designed to break down the barriers of physical distance, enabling developers to write, edit, and execute code simultaneously as if they were in the same room. This project is a deep dive into the architecture of modern collaborative systems, demonstrating the ability to build complex, secure, and stateful applications from scratch.
- ✅ Live Multi-User Editing: A shared Monaco editor where code synchronizes instantly across all connected clients using a high-performance WebSocket communication layer.
- ✅ Dynamic Presence & Awareness: A live-updating sidebar shows a real-time list of all users currently active in the session, fostering a sense of a shared workspace.
- ✅ Secure Containerized Code Execution: A sandboxed execution engine, powered by the Docker Engine API, runs user code in a completely isolated environment. It captures
stdout
andstderr
and returns the output, preventing any risk to the host server. - ✅ Robust Token-Based Authentication (JWT): The entire platform is secured with a professional JWT authentication flow. Only authenticated users can join a session, ensuring that collaboration spaces are private and secure.
- ✅ Fully Containerized & Deployable: The entire application stack is orchestrated by Docker Compose, allowing for a one-command setup and guaranteeing a consistent environment from a developer's machine to production.
This project is built as a multi-container application orchestrated by Docker Compose, ensuring a consistent and reproducible environment.
Category | Technology & Tools |
---|---|
Backend | |
Frontend | |
Real-Time | |
Security | |
DevOps | |
Tools |
The architecture consists of two main services:
backend
: A Docker container running the FastAPI backend, which handles all business logic, user authentication, WebSocket connections for real-time updates, and communication with the Docker daemon for the secure execution engine.frontend
: A lightweight Nginx container that serves the static frontend, built with dependency-free HTML, CSS, and Vanilla JavaScript.
Running this project is incredibly simple, thanks to its fully containerized architecture.
- You must have Docker and Docker Compose installed. Download from the Docker official website.
-
Clone the repository:
git clone https://github.com/dineshgokaram/code-collaborator-platform.git cd code-collaborator-platform
-
Launch with Docker Compose: This single command builds, configures, and starts the entire application stack.
docker compose up --build
-
You're Live!
- 👨💻 Frontend Application: Open your browser to
http://localhost:8080
- 📄 Backend API Docs: Explore the API at
http://localhost:8000/docs
- 👨💻 Frontend Application: Open your browser to
Log in with these users in two different browser windows to experience the real-time collaboration.
Username | Password |
---|---|
user1 |
pass1 |
user2 |
pass2 |