An online collaborative code editor where users can create files and folders, store code without running it, and experience real-time collaboration! π
Note: This app is currently under development! Stay tuned for more updates. π¨βπ»π©βπ»
- ποΈ File & Folder Management: Create and organize files and folders.
- π Unique Slug for Every Project: Each project gets a unique URL (slug) that can be shared with others.
- π₯ Real-time Collaboration: Watch changes live as they happen between users on the same slug.
- π Monaco Editor Integration: Write and edit code using the powerful Monaco editor (VS Code's underlying editor).
- π οΈ Persistent Storage: All changes are saved in the cloud so you never lose your work!
- Framework: Next.js
- Editor: Monaco Editor
- State Management: Zustand
- UI: Chakra UI
- Real-time Updates: WebSocket (Socket.IO)
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB
- Real-time Sync: Operational Transformation (OT) or Conflict-Free Replicated Data Types (CRDT)
- File Storage: AWS S3
- Users create a project with files and folders ποΈ.
- Each project is assigned a unique slug π.
- Multiple users can access the slug and make changes in real-time π.
- Changes are synced across users using WebSocket π¦.
- All data is persisted in the database π.
- Visit a slug URL like
/exampleSlug
π. - Create or edit files and folders in the Monaco editor π».
- If someone else joins the same slug, theyβll see your changes in real-time π.
- Your work is auto-saved and persisted, so you never lose it! πΎ
# Clone the repository
git clone https://github.com/username/codecollab.git
# Install dependencies
npm install
# Start the development server
npm run dev
We welcome contributions! Please follow these steps:
- Fork the repo π΄.
- Create a new branch for your feature or bugfix πΏ.
- Submit a pull request π.
- π§ Real-time collaboration with Operational Transformation (OT) or CRDT.
- π User authentication and project permissions.
- πΎ Autosaving and versioning.
This project is licensed under the MIT License. See the LICENSE file for details.