Skip to content

dineshgokaram/code-collaborator-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Code Collaborator Platform

A feature-rich, real-time collaborative code editor built from the ground up.

Link to Project Demo Video


💡 The Vision: Solving a Modern Development Challenge

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.


✨ Core Features & Capabilities

  • 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 and stderr 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.

🛠️ Tech Stack & Architecture

This project is built as a multi-container application orchestrated by Docker Compose, ensuring a consistent and reproducible environment.

Category Technology & Tools
Backend Python FastAPI Uvicorn
Frontend HTML5 CSS3 JavaScript
Real-Time WebSockets
Security JWT Passlib
DevOps Docker Docker Compose Nginx
Tools Git GitHub VS Code

The architecture consists of two main services:

  1. 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.
  2. frontend: A lightweight Nginx container that serves the static frontend, built with dependency-free HTML, CSS, and Vanilla JavaScript.

⚙️ Getting Started

Running this project is incredibly simple, thanks to its fully containerized architecture.

Prerequisites

🚀 To Run The Application:

  1. Clone the repository:

    git clone https://github.com/dineshgokaram/code-collaborator-platform.git
    cd code-collaborator-platform
  2. Launch with Docker Compose: This single command builds, configures, and starts the entire application stack.

    docker compose up --build
  3. You're Live!

    • 👨‍💻 Frontend Application: Open your browser to http://localhost:8080
    • 📄 Backend API Docs: Explore the API at http://localhost:8000/docs

Test Credentials

Log in with these users in two different browser windows to experience the real-time collaboration.

Username Password
user1 pass1
user2 pass2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published