CollabSync is a real-time collaboration web application built with the MERN stack + WebSockets.
It allows users to join rooms, chat, and collaboratively edit notes/documents in real-time.
This project demonstrates real-time communication, socket programming, and collaborative editing with a clean UI.
- User logs in
- Creates a new workspace
- Invites team members (via link)
- Each member sees workspace and can collaborate in real-time
- Secure Login & Registration
- Create or join collaboration rooms
- Real-time text/notes editing
- Real-time chat with all room members
- Manage personal profile
- Create and manage rooms
- Remove users from rooms (if applicable)
- Real-time updates for room activity
- Users see only the workspaces they are part of
- Create multiple workspaces and switch between them
- Role-based access: Admins can manage rooms and members, users can view/edit notes only in allowed workspaces
- React.js
- Vite
- Tailwind CSS
- Axios
- React Router
- Socket.IO-client
- Node.js
- Express.js
- MongoDB + Mongoose
- Socket.IO-server
- JWT Authentication
- CORS
Watch multiple users editing notes and chatting in real-time!
| Dashboard / Rooms |
|-----------------|-----------|
|
|
| Workspaces
|--------------------|--------------|
|
|
| Workspace View | Invite Link Modal |
|---|---|
![]() |
CollabSync/
│── backend/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ └── server.js
│
└── frontend/
├── public/
├── src/
│ ├── components/
│ ├── pages/
│ └── App.jsx
git https://github.com/vaish12345678/CollabSync.git
cd collabsynccd backend
npm installCreate .env file:
MONGO_URI=your_mongodb_url
JWT_SECRET=your_secret_key
PORT=5000
Start backend:
nodemon server.jscd ../frontend
npm install
npm run dev| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register new user |
| POST | /api/auth/login |
Login user |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/rooms |
Fetch all rooms |
| POST | /api/workspace/create |
Create new room |
| GET | /api/workspace/:id |
Fetch room by ID |
| PUT | /api/workspace/:id |
Update room info |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/chat/send |
Send message in room |
| GET | /api/chat/workspace/:workspaceId |
Get messages for room |
| POST | /api/notes/update |
Update collaborative document |
| GET | /api/notes/:workspaceId |
Fetch latest document state |
Note: Real-time updates are handled by Socket.IO.
- Real-time collaboration & chat using WebSockets
- JWT-based authentication
- UI with Tailwind CSS
- End-to-end MERN stack application
- Video/audio chat in rooms
- File sharing inside rooms
Vaishnavi — Full Stack Developer
MIT License
