A collaborative, real-time code editor where users can seamlessly code together. It provides a platform for multiple users to enter a room, share a unique room ID, and collaborate on code simultaneously.
- ๐ป Real-time collaboration on code editing across multiple files
- ๐ Create, open, edit, save, delete, and organize files and folders
- ๐พ Option to download the entire codebase as a zip file
- ๐ Unique room generation with room ID for collaboration
- ๐ Comprehensive language support for versatile programming
- ๐ Syntax highlighting for various file types with auto-language detection
- ๐ Code Execution: Users can execute the code directly within the collaboration environment, providing instant feedback and results.
- โฑ๏ธ Instant updates and synchronization of code changes across all files and folders
- ๐ฃ Notifications for user join and leave events
- ๐ฅ User presence list of users currently in the collaboration session, including online/offline status indicators
- ๐ฌ Group chatting allows users to communicate in real-time while working on code.
- ๐ฉ Real-time tooltip displaying users currently editing
- ๐ก Auto suggestion based on programming language
- ๐ Option to change font size and font family
- ๐จ Multiple themes for personalized coding experience
- ๐จ Collaborative Drawing: Enable users to draw and sketch collaboratively in real-time, enhancing the interactive experience of your project.
-
Fork this repository: Click the Fork button located in the top-right corner of this page to fork the repository.
-
Clone the repository:
git clone https://github.com/<your-username>/Code-Sync.git
-
Set .env file: Inside the client and server directories rename the
.env.examplefile to.envand set the following environment variables:Frontend:
VITE_BACKEND_URL=<your_server_url>
Backend:
PORT=3000
-
Install dependencies: Navigate to the frontend and backend directories separately and run:
npm install
-
Start the frontend and backend servers:
Frontend:cd client npm run devBackend:
cd server npm run dev -
Access the application: Open a browser and enter the following URL:
http://localhost:5173/