kbhujbal/CodeCollab---Online-Code-Editor-IDE
Modern browser-based real-time collaborative code editor IDE featuring syntax highlighting, code execution, auto-save, and secure authentication. Built with Next.js, TypeScript, Convex, and Monaco Editor.
CodeCollab - Interactive Code Editor
๐ผ๏ธ View Screenshot
CodeCollab is a modern, real-time collaborative code editor that allows developers to write, share, and execute code in their browser. Built with Next.js, TypeScript, and powered by Convex for real-time collaboration.
Features
Development
- ๐ Real-time code execution
- ๐จ Syntax highlighting
- ๐ Multiple language support
- ๐ Dark mode support
- ๐ป Monaco Editor integration
Collaboration
- ๐ฅ Real-time collaboration
- ๐พ Auto-save functionality
- ๐ Code snippets sharing
- ๐ Secure authentication with Clerk
Pro Features
- โก Advanced language support
- ๐ Enhanced real-time features
- ๐ฏ Priority execution
- ๐ซ Premium themes
Tech Stack
-
Frontend:
- Next.js 15.0
- React
- TypeScript
- Tailwind CSS
- Monaco Editor
-
Backend:
- Convex (Real-time Backend)
- Clerk (Authentication)
-
Additional Tools:
- Framer Motion (Animations)
- Zustand (State Management)
Getting Started
- Clone the repository:
git clone https://github.com/yourusername/code-collab.git
cd code-collab- Install dependencies:
npm install- Set up environment variables:
Create a.env.localfile in the root directory with the following variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CONVEX_URL=your_convex_url- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
Authentication
CodeCollab uses Clerk for authentication. To set up authentication:
- Create an account at clerk.dev
- Create a new application
- Copy your API keys to
.env.local
Real-time Backend
CodeCollab uses Convex for real-time functionality. To set up Convex:
- Create an account at convex.dev
- Install Convex CLI:
npm install -g convex - Initialize Convex:
npx convex dev
Contributing
We welcome contributions! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support, please open an issue in the GitHub repository or contact me.
