A modern, full-stack cloud IDE that enables developers to create, edit, and run projects directly in the browser with real-time containerized execution environments.
- Multi-Project Support - Create projects with different tech stacks or frameworks (React, Node.js, Express, Next.js)
- File Management - Complete file explorer with create, rename, delete operations
- Integrated Code Editor - Powerful code edior that sync with cloud in real-time
- Browser Terminal - Full terminal access with Docker containerization
- AI Chat Bot - Integrated AI chat bot powered by Gemini for coding queries
- Authentication - Secure login with Auth0 auth library
- Cloud Storage - Projects stored in Google Firebase Cloud Storage
- Real-time Connection - WebSockets for real-time persistent connection with the server
- Contanerization - All user projects run in isolated docker contaiers
- Project Live Preview - Currently in development, will allow users to preview their projects live in the browser
React 18 - UI framework
TypeScript - Type safety
Vite - Build tool
Tailwind CSS - Styling
Socket.IO Client - Real-time communication
Node.js - Runtime environment
Express.js - Web framework
Socket.IO - WebSocket server
Docker - Containerization
TypeScript - Type safety
Auth0 - Authentication
Google Cloud - Virtual Machine (VM)
Docker - Containerized App
Nginx - Reverse proxy & web server
GitHub Actions - CI/CD
Ubuntu OS v24.04 - Operating System
Docker Hub - Image registry
SSH - Remote access to VM
SSL/TLS Encryption - HTTPS
graph LR
A[User Login] --> B[Auth0 Verification]
B --> C[JWT Token]
C --> D[User Session]
graph LR
A[Select Tech Stack] --> B[Create Project]
B --> C[Copy Base Template]
C --> D[Store in Firebase]
D --> E[Update Database]
graph LR
A[Open Project] --> B[Load File Structure]
B --> C[Create Docker Container]
C --> D[Mount Project Files]
D --> E[Initialize Terminal]
E --> F[Start Coding]
F --> G[Real-time Sync]
graph LR
A[File Action] --> B[Frontend Update]
B --> C[WebSocket Event]
C --> D[Docker Container]
D --> E[Firebase Sync]
E --> F[UI Refresh]
- Node.js
- Docker
- MongoDB
- Firebase account
- Auth0 account
- Gemini API key
- Clone the repository
git clone <repository-url>
cd codelabs- Configure Environment Variables
# Back-end (.env)
PORT=5000
MONGODB_URI=mongod://127.0.0.1:27017
AUTH0_DOMAIN=#
## Firebase Secrets
apiKey=#
authDomain=#
projectId=#
storageBucket=#
messagingSenderId=#
appId=#
measurementId=#
FB_SECRETS_JSON=# Firebase service account JSON string
GEMINI_API_KEY=#
# Frontend (.env)
VITE_SERVER_URL=http://localhost:5000
VITE_AUTH0_DOMAIN=#
VITE_AUTH0_CLIENT_ID=#
VITE_REDIRECT_URI=http://localhost:5173/home- Run with Docker Compose
docker-compose up --build- Setup Backend
cd back-end
npm install- Start Backend
cd back-end
npm run dev- Setup Frontend
cd front-end
npm install- Start Frontend
cd front-end
npm run dev-
LinkedIn: Aman Tiwari
Built with β€οΈβπ₯ by Aman Tiwari