SyncFlow is a real-time collaborative task manager built with the MERN stack and powered by Socket.IO. It allows teams to manage tasks across a Kanban board with drag-and-drop support, conflict handling, smart assignment, and a real-time activity log.
- π Frontend: sync-flow-seven.vercel.app
- π Backend: syncflow-zfy0.onrender.com
- π» GitHub Repo: github.com/prathmesh-git/SyncFlow
- π JWT Authentication: Secure login/register flow.
- π Kanban Task Board: Tasks are categorized under
Todo,In Progress, andDone. - π€ Drag & Drop: Tasks can be moved across columns.
β οΈ Note: Dragging is only supported from the task title area. - π₯ Smart Assign: Automatically assign a task to the user with the fewest active tasks.
- π Activity Log: Tracks all changes like task creation, updates, deletion, and smart assignment in real-time.
- βοΈ Conflict Detection: Prevents data overwrites when multiple users edit the same task.
- π± Fully Responsive: Works well on mobile and desktop devices.
- React
- Vite
- Axios
- Socket.IO Client
- DnD Kit
- Node.js
- Express
- MongoDB + Mongoose
- Socket.IO
- JWT for auth
- Render (deployment) g
- Anyone can Register/Login
Log in with two users and try updating the same task simultaneously. The system will detect the timestamp mismatch and prompt for overwrite confirmation.
# Clone the repo
git clone https://github.com/prathmesh-git/SyncFlow.git
cd SyncFlow
# Install frontend
cd frontend
npm install
npm run dev
# In a new terminal tab, install backend
cd ../backend
npm install
npm run dev
π Notes
Drag and drop only works when you drag from the title section of a task card.
Use the βSmart Assignβ button to balance workload across users.
Task updates include live sync, conflict handling, and action logs.
π Credits
Developed as part of an assignment project by Prathmesh.
## Demo Video Link : https://drive.google.com/file/d/1vgN1ngKGaKALPgZI4LiDzxpaZXK8Bzgy/view?usp=sharing