Skip to content

A real-time collaborative code editor featuring unique room generation, syntax highlighting, and auto-suggestions. Users can seamlessly edit, save, and download files while communicating through group chat

License

Notifications You must be signed in to change notification settings

sahilatahar/Code-Sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

logo

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.

GitHub contributors GitHub Repo stars GitHub issues GitHub pull requests GitHub License Visitors

๐Ÿ”ฎ Features

  • ๐Ÿ’ป 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
  • โฑ๏ธ Instant updates and synchronization of code changes across all files and folders
  • ๐Ÿ“ฃ Notifications for user join and leave events
  • ๐Ÿ‘ฅ User presence list with online/offline status indicators
  • ๐Ÿ’ฌ Real-time group chatting functionality
  • ๐ŸŽฉ 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

๐Ÿš€ Live Preview

You can view the live preview of the project here.

๐Ÿ’ป Tech Stack

React TypeScript React Router Tailwind CSS NodeJS ExpressJS Socket io Git GitHub Vercel

โš™๏ธ Installation

Method 1: Manual Installation

  1. Fork this repository: Click the Fork button located in the top-right corner of this page.

  2. Clone the repository:

    git clone https://github.com/<your-username>/Code-Sync.git
  3. Set .env file: Inside the client and server directories rename the .env.example file to .env and set:

    Frontend:

    VITE_BACKEND_URL=<your_server_url>

    Backend:

    PORT=3000
  4. Install dependencies:

    npm install     # Run in both client and server directories
  5. Start the servers:
    Frontend:

    cd client
    npm run dev

    Backend:

    cd server
    npm run dev
  6. Access the application:

    http://localhost:5173/

Method 2: Docker Installation

  1. Install Docker Desktop:

  2. Pull Docker Images:

    # Pull Backend Image
    docker pull chandankumar55/code_sync-backend:tagname
    
    # Pull Frontend Image
    docker pull chandankumar55/code_sync-frontend:tagname
  3. Run Docker Containers:

    # Run Backend Container (Port 3000)
    docker run -p 3000:3000 chandankumar55/code_sync-backend:tagname
    
    # Run Frontend Container (Port 5173)
    docker run -p 5173:5173 chandankumar55/code_sync-frontend:tagname
  4. Access the application:

    http://localhost:5173/

๐Ÿ”ฎ Features for next release

  • Admin Permission: Implement an admin permission system to manage user access levels and control over certain platform features.

๐Ÿค Contribute

We welcome contributions to make Code Sync even better! Follow the contribution guidelines to get started.

๐ŸŒŸ Support Us

If you find this helpful or valuable, please consider ๐ŸŒŸ starring the repository. It helps us gain visibility and encourages further development.

๐Ÿงพ License

This project is licensed under the MIT License.

๐ŸŒŸ Appreciation for Resources

Special thanks to:

โœ๏ธ About Developer

Sahil Atahar
Sahil Atahar