Skip to content

aniketchawardol/CodeSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeSathi

CodeSathi Logo
visit here React Vite Socket.IO MongoDB License

Real-time collaborative code editing platform for seamless developer collaboration

FeaturesTech StackGetting StartedAPIContributing


✨ Features

  • 🔄 Real-time collaborative code editing
  • 👥 Live cursor tracking for multiple users
  • 📁 File system synchronization
  • 💬 Integrated chat system
  • 🔐 User authentication
  • 🗄️ MongoDB database integration
  • ⚡ WebSocket-based real-time updates

🛠️ Tech Stack

Frontend Backend
  • ⚛️ React 18
  • ⚡ Vite
  • 📝 Monaco Editor
  • 🔌 Socket.IO Client
  • 🎨 TailwindCSS
  • 🔒 Auth0
  • 🛣️ React Router
  • 🟢 Node.js with Express
  • 🔌 Socket.IO
  • 🍃 MongoDB with Mongoose
  • 🔄 RESTful API endpoints

🚀 Getting Started

Prerequisites

  • Node.js 16+
  • MongoDB database
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/aniketchawardol/codesync.git
    cd codesync
  2. Install dependencies

    # Install frontend dependencies
    cd frontend
    npm install
    
    # Install backend dependencies
    cd ../backend
    npm install
  3. Set up environment variables

    # Frontend .env
    VITE_API_URL=http://localhost:3000
    VITE_AUTH0_DOMAIN=your-auth0-domain
    VITE_AUTH0_CLIENT_ID=your-auth0-client-id
    
    # Backend .env
    MONGO_URI=your-mongodb-connection-string
  4. Run development servers

    # Start frontend (in frontend directory)
    npm run dev
    
    # Start backend (in backend directory)
    npm run dev

🔄 API Endpoints

Endpoint Description
`POST /api/room`Create a new room
`GET /api/room/:roomId`Join an existing room
`POST /api/user`Create or update user
`GET /api/user/:email`Get user data
`GET /api/room/user/:email`Get rooms created by user

🔌 WebSocket Events

Event Description
`join-room`Join a collaboration room
`update-folder`Sync folder structure changes
`cursor-update`Track user cursor positions
`chat-send`Send chat messages
`userJoined`Handle new user connections

Made with ❤️ by the CodeSathi Team

👥 Contributors

• Aniket Chawardol
• Suyash Patil
• Vishwas Kulkarni

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •