Code-X is a full-stack collaborative web IDE platform built for seamless developer workflows and instant coding. It empowers users to authenticate, manage project files, and collaborate on code changes in near real-time. By providing an in-browser terminal experience and isolated, per-user runtime environments powered by Kubernetes, Code-X delivers a complete, cloud-native development experience directly in the browser.
Multi-user editing and synchronization via Socket.IO delta events.
Interactive terminal streaming powered by node-pty.
Kubernetes-managed, per-user runtime environments.
Durable project file storage backed by Azure Blob Storage.
JWT-based authentication and protected APIs with PostgreSQL user management.
Nginx-based routing for API, sockets, and user container proxying.
Comprehensive code editing support through the Monaco Editor.
A React + Vite SPA hosting the Monaco editor, Xterm terminal, file explorer, and authentication screens.
Nginx acts as a single traffic entry point, routing API requests, WebSocket connections, and container lifecycle events without exposing internal cluster topology.
Handles user authentication, protected APIs, database operations via Drizzle/Postgres, and Azure Blob integration. It also hosts the socket hub for editor deltas.
Manages local workspace files, applies editor deltas, and runs shell sessions via node-pty for terminal interactivity.
Creates, proxies, and deletes per-user Kubernetes deployments and services.
Code edits in Monaco emit delta events via sockets → broadcasted to clients → applied to local files → saved and persisted to Azure Blob Storage.
Frontend requests a spawn → K8s orchestrator creates a user pod → an Init container hydrates the workspace from Azure Blob → terminal/editor sockets connect.
Implement features like active user cursors, presence indicators, and inline commenting for a richer collaborative experience.
Introduce auto-hibernation or scaling policies for Kubernetes pods to optimize resource usage and reduce infrastructure costs during idle periods.
Integrate native Git commands directly into the UI, allowing users to commit, push, and pull directly from their web workspaces.
Interested in this project?