A real-time collaborative code editor built with React, Node.js, Socket.io, and MongoDB.
- 🚀 Real-time collaborative code editing
- 👥 Live user presence indicator
- 🔗 Easy room sharing with copy-to-clipboard
- 💾 Automatic code persistence
- 🎨 VS Code-inspired dark theme
- ⚡ WebSocket-powered instant synchronization
Frontend:
- React
- Monaco Editor (VS Code's editor)
- Socket.io Client
- React Router
Backend:
- Node.js
- Express.js
- Socket.io
- MongoDB with Mongoose
- Node.js (v14+)
- MongoDB Atlas account (or local MongoDB)
- Clone the repository:
git clone https://github.com/ShamyaHaria/Kode.io.git
cd kode.io- Install backend dependencies:
cd backend
npm install- Create
.envfile in backend folder:
MONGODB_URI=your_mongodb_connection_string
PORT=5001
- Install frontend dependencies:
cd ../frontend
npm install- Start the backend server:
cd backend
node server.js- Start the frontend (in a new terminal):
cd frontend
npm start- Open http://localhost:3000 in your browser
- Enter your name on the home page
- Click "Create New Room" to start a new session
- Share the room ID with others to collaborate
- Code together in real-time!
kode.io/
├── backend/
│ ├── models/
│ │ └── Room.js
│ ├── server.js
│ ├── package.json
│ └── .env
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── Home.js
│ │ │ ├── Home.css
│ │ │ ├── Room.js
│ │ │ └── Room.css
│ │ ├── App.js
│ │ └── index.js
│ └── package.json
└── README.md
- Multiple programming language support
- Syntax error highlighting
- Code execution
- Chat functionality
- Cursor position tracking
- File upload/download
MIT
Shamya Haria - Your GitHub