Skip to content

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages