YashMall / codeBuddy

We have developed a real-time collaborative code editor using React, Node.js, and Socket.io, supporting C++, Java, and Python. Features include synchronized editing, multi-language support, real-time chat, and in-app code execution. Unique room creation with UUID allows easy access via referral links, enhancing user collaboration.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Your CodeBuddy Logo Real-Time Collaborative Code Editor

Overview

This project is a real-time collaborative code editor built using React, Node.js, and Socket.io. It supports C++, Java, and Python, providing a seamless experience for multiple users to collaborate on code in real-time. Features include synchronized editing, multi-language support, real-time chat, and in-app code execution. Users can create unique rooms using UUIDs, enabling easy access via referral links for enhanced collaboration.

Features

  • πŸš€ Real-Time Collaboration: Multiple users can edit code simultaneously with changes synchronized in real-time.
  • 🌐 Multi-Language Support: Supports coding in C++, Java, and Python.
  • πŸ’¬ Real-Time Chat: In-app chat feature allows users to communicate while coding.
  • βš™οΈ In-App Code Execution: Execute C++, Java, and Python code within the app (requires respective setups on the system).
  • πŸ”— Unique Room Creation: Rooms created with UUIDs for easy sharing and access via referral links.

Prerequisites

  • Node.js (v14 or later)
  • npm (v6 or later)
  • C++ compiler
  • Python (v3.6 or later)
  • Java (JDK 8 or later)

Ensure you have the necessary environment setup for running C++, Python, and Java code on your system.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/repo-name.git
    cd repo-name
  2. Install dependencies for both client and server:

    npm install
    

Running the Application

Starting the Client

To start the client application, navigate to the root directory and run:

npm start

Starting the server

To start the server, navigate to the root directory and run:

npm run server:dev

Usage

  • Access the Application: Open your browser and navigate to http://localhost:3000.
  • Create a Room: Click on "Create Room" to generate a unique room with a UUID.
  • Share the Link: Copy the referral link and share it with collaborators.
  • Start Collaborating: Begin coding together in real-time, use the chat feature to communicate, and execute code within the app.

Future Improvements

  • πŸ”’ Enhanced Security: Implement authentication and authorization to secure rooms and user data.
  • 🌟 GitHub Integration: Add features to push code directly to GitHub repositories from within the app.
  • πŸŽ₯ Video Conferencing: Integrate a video feature to allow face-to-face communication during collaboration.

Contact

For any questions or feedback, please open an issue on the repository or contact the project maintainer.

author LinkedIn

author LinkedIn


Happy Coding! πŸŽ‰

About

We have developed a real-time collaborative code editor using React, Node.js, and Socket.io, supporting C++, Java, and Python. Features include synchronized editing, multi-language support, real-time chat, and in-app code execution. Unique room creation with UUID allows easy access via referral links, enhancing user collaboration.


Languages

Language:JavaScript 86.1%Language:CSS 8.4%Language:HTML 5.5%