fardin.dev
← Back to work

fullstack

TaskFlow

Real-time Kanban with Socket.IO and role-based access

Problem

Teams need a project board that updates in real time without everyone refreshing the page.

What I built

Split frontend and backend services. The API emits socket events on task, project, and membership changes. The React client subscribes and patches local state.

Architecture

React + Vite frontend talks to a Node backend. Socket.IO rooms scoped per project. JWT auth on REST and socket handshake.

API highlights

  • REST for CRUD on projects, tasks, members
  • Socket events: task:created, task:updated, project:memberAdded
  • Role gates on both API middleware and UI

Challenges

  • Keeping socket state in sync when users join mid-session
  • Optimistic drag-and-drop with server reconciliation
ReactNode.jsSocket.IOTypeScriptRedux Toolkit