A production-grade cloud IDE and deployment platform similar to Replit, built with modern web technologies.
- Real-time Presence - See who's online, what they're editing, and their cursor positions
- Terminal Sharing - Collaborate on terminal sessions with view-only or interactive modes
- Code Comments - Add line-specific comments and threaded discussions
- Team Organizations - Create organizations with role-based access (Owner, Admin, Developer, Viewer)
- Project Permissions - Granular control with read, write, deploy, and admin permissions
- Activity Feed - Track all team actions and changes in real-time
- Environment Variables - Securely manage encrypted secrets at org and project levels
- Team Billing - Track usage and costs per team member with detailed breakdowns
- Built with Yjs and CRDT protocol for seamless multi-user editing
- Live cursor tracking and presence awareness
- CodeMirror-based editor with syntax highlighting for multiple languages
- Full-featured terminal with WebSocket connection
- Supports bash/powershell based on platform
- Real-time terminal I/O with xterm.js
- Terminal sharing for collaborative debugging π
- Pull Requests - Create, review, and merge PRs directly in the IDE
- Visual Merge Conflicts - 3-way merge view with conflict-by-conflict resolution
- Code Reviews - Inline comments, approval workflows, and status tracking
- Branch Protection - Enforce PR requirements, approvals, and status checks
- Full git workflow support with commit, push, pull, and branch management
- npm - Node.js package management
- pip - Python package management
- cargo - Rust package management
- Install, uninstall, and list packages
- Auto-detection of package managers
- Iframe sandboxing for secure preview
- File watching with chokidar
- Automatic refresh on file changes
- Real-time preview of web applications
- PostgreSQL - Full query support and table browsing
- MySQL - Connection management and query execution
- MongoDB - Collection operations and document queries
- Visual database management interface
- User Management - Advanced search, suspension/activation, analytics, impersonation mode
- Platform Analytics - Real-time metrics, revenue tracking (MRR/ARR), churn analysis
- Sales & Affiliates - Affiliate program management, discount codes, commission tracking
- Financial Controls - Revenue reconciliation, subscription management, refund processing
- System Administration - Server health monitoring, deployment queue, feature flags
- Security Features - Role-based access control (RBAC), 2FA, audit logging, IP whitelisting
- Auto-Detection - Automatically detect frameworks, build commands, ports, and dependencies
- IaC Generation - Generate Dockerfiles, Kubernetes manifests, Terraform configs, nginx configurations
- Server Setup - One-command server installation script with Docker, Node.js, Python, nginx, SSL
- Project Templates - 50+ pre-configured starter templates for React, Vue, Express, Django, and more
- GitHub Import - Clone and analyze existing repositories with auto-configuration
- Environment Detection - Automatic detection of environment variables and secrets
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Fast build tool
- CodeMirror - Code editor
- Yjs - CRDT for collaboration
- xterm.js - Terminal emulator
- Zustand - State management
- Node.js - Runtime
- Express - Web framework
- WebSocket (ws) - Real-time communication
- node-pty - Terminal sessions
- simple-git - Git operations
- chokidar - File watching
- pg, mysql2, mongodb - Database clients
- Node.js 18+
- npm or yarn
- Git
# Deploy frontend to Vercel
vercel --prod
# Deploy backend to Railway, Render, or Fly.ioSee VERCEL_DEPLOYMENT.md for complete guide.
- Clone the repository
git clone https://github.com/Algodons/algo.git
cd algo- Install dependencies
npm install
cd frontend && npm install && cd ..
cd backend && npm install && cd ..- Set up environment variables
# For development
cp .env.example .env.development
# Edit .env.development with your configuration- Start development server
npm run dev:localThis will start:
- Frontend dev server on http://localhost:3000
- Backend API server on http://localhost:4000
π For detailed development setup including Copilot SaaS testing, see DEV_SETUP.md
npm run build
npm startDeploy the frontend to Vercel for fast, global distribution:
# Install Vercel CLI
npm install -g vercel
# Deploy
cd frontend
vercel --prodQuick Start:
- Import the repository in Vercel Dashboard
- Set root directory to
frontend - Configure environment variables (see
.env.vercel.example) - Deploy!
π Complete guide: VERCEL_DEPLOYMENT.md
π§ Troubleshooting: VERCEL_TROUBLESHOOTING.md
Note: Backend should be deployed separately to Railway, Render, or Fly.io for WebSocket and terminal support.
docker-compose up -dThis will start:
- Cloud IDE application
- PostgreSQL database
- MySQL database
- MongoDB database
docker build -t cloud-ide .
docker run -p 3000:3000 -p 5000:5000 cloud-ide- Open the IDE in multiple browser windows
- Select the same file
- Start typing - changes sync in real-time
- See other users' cursors and selections
- Click on the terminal panel at the bottom
- Type commands directly
- Terminal persists during the session
- Enter a repository URL in the Git panel
- Click "Clone Repository"
- Make changes to files
- Commit changes with a message
- Push to remote repository
- Select package manager (npm/pip/cargo)
- Enter package name
- Click "Install"
- Packages are installed in the workspace
- Create an HTML file (e.g., index.html)
- Preview panel automatically shows the page
- Edit files - preview updates automatically
- Select database type (PostgreSQL/MySQL/MongoDB)
- Enter connection details
- Click "Connect"
- Execute queries and view results
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React) β
β βββββββββββ βββββββββββ βββββββββββ ββββββββββββ β
β β Editor β βTerminal β β Git β β Database β β
β βββββββββββ βββββββββββ βββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
WebSocket/HTTP
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend (Node.js/Express) β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β Yjs β β PTY β β Git β β
β β Server β β Server β β API β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β Package β β Preview β β Database β β
β β API β β Server β β API β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
File System
- Iframe Sandboxing - Preview runs in sandboxed iframe
- WebSocket Authentication - Secure WebSocket connections
- Input Validation - All inputs are validated
- File System Isolation - Workspaces are isolated
- Database Connection Management - Secure credential handling
The platform implements a comprehensive scalability strategy designed to handle growth efficiently:
- L1 (Memory): 100MB in-memory LRU cache for hot data
- L2 (Redis): Distributed caching for sessions and API responses
- L3 (CDN): Cloudflare/Fastly for static assets
- Query Caching: Automatic database query result caching
- Round-robin distribution across backend instances
- Geographic routing to nearest region
- Health-based routing with automatic failover
- Sticky sessions for connection persistence
- CPU-based: Scale at 70% (up) / 30% (down)
- Memory-based: Dynamic scaling based on usage
- Request-based: Scale with traffic patterns
- Predictive scaling: ML-based anticipation of load
- Container limits: CPU and memory quotas per service
- Spot instances: 70% cost reduction for non-critical workloads
- Quality of Service: Priority-based resource allocation
- Vertical Pod Autoscaler: Automatic right-sizing
- Idle suspension: Automatic suspension after 30 days
- Wake-on-request: Fast cold-start (~30 seconds)
- State preservation: Full project state and data maintained
- Activity tracking: Automatic activity monitoring
Documentation:
- Scalability Architecture - Complete architecture guide
- Operations Runbooks - Operational procedures
Key Metrics:
- Cache hit rate: >80%
- Auto-scaling range: 2-20 instances
- Cold start time: ~30 seconds
- Cost reduction: Up to 70% with spot instances
npm test- Admin Control System API
- Intelligent Automation System
- Automation System Examples
- Database Platform
- Team Collaboration
- Monetization System
POST /api/git/clone- Clone repositoryGET /api/git/status- Get git statusPOST /api/git/commit- Commit changesPOST /api/git/push- Push changesPOST /api/git/pull- Pull changesGET /api/git/branches- List branchesPOST /api/git/branch- Create branchPOST /api/git/checkout- Checkout branch
POST /api/package/{manager}/install- Install packagePOST /api/package/{manager}/uninstall- Uninstall packageGET /api/package/{manager}/list- List packages
POST /api/db/{type}/connect- Connect to databasePOST /api/db/{type}/query- Execute queryGET /api/db/{type}/tables- List tables/collectionsPOST /api/db/disconnect- Disconnect
POST /api/automation/detect- Auto-detect project configurationPOST /api/automation/install- Install project dependenciesPOST /api/automation/generate-iac- Generate infrastructure as codeGET /api/automation/templates- List available templatesPOST /api/automation/init-template- Initialize from templatePOST /api/automation/import-github- Import from GitHub repositoryPOST /api/automation/setup- Full project setup
GET /api/preview/:workspaceId/*- Serve preview filesPOST /api/preview/watch- Start watching filesPOST /api/preview/unwatch- Stop watching
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
- Inspired by Replit, CodeSandbox, and StackBlitz
- Built with amazing open-source tools