A production-ready full-stack collaborative task management application built as part of a full-stack engineering assessment.
The application supports secure authentication, task assignment, dashboards, and real-time collaboration.
⚠️ Live links will be added after deployment
- Frontend: https://your-frontend-url.vercel.app
- Backend API: https://your-backend-url.onrender.com
To design and build a complete collaborative task management system demonstrating:
- Clean backend architecture
- Secure authentication
- Real-time updates using Socket.io
- Strong TypeScript usage
- Production readiness
- React (Vite)
- TypeScript
- Tailwind CSS
- React Query (server state & caching)
- React Router
- Socket.io Client
- Node.js
- Express.js
- TypeScript
- Prisma ORM
- PostgreSQL
- Socket.io
- JWT Authentication (HttpOnly Cookies)
- Zod (DTO validation)
Routes → Controllers → Services → Repositories → Prisma → Database
- Controllers: Handle HTTP requests & responses
- Services: Business logic (task creation, assignment, notifications)
- Repositories: Database access via Prisma
- DTOs (Zod): Input validation
- Socket.io: Real-time task updates & notifications
- Pages: Login, Register, Dashboard, Create Task
- Hooks: Data fetching via React Query
- Components: Reusable UI components
- Socket Hooks: Real-time updates without page refresh
- Secure user registration and login
- Passwords hashed using bcrypt
- JWT stored in HttpOnly cookies
- Protected frontend routes
- Session validation using
/api/auth/me
Each task includes:
- Title
- Description
- Due Date
- Priority (Low, Medium, High, Urgent)
- Status (To Do, In Progress, Review, Completed)
- Creator
- Assigned User
- Live task updates across users
- Instant assignment notifications
- Powered by Socket.io
- No page refresh required
- Tasks assigned to the current user
- Tasks created by the current user
- Overdue tasks
- Fully responsive UI
- Unit tests implemented using Jest + ts-jest
- Tested critical backend business logic:
- Task creation
- Task assignment notification
- Task retrieval
- External services (DB, Socket.io) mocked
- Tests run without starting the server
POST /api/auth/registerPOST /api/auth/loginGET /api/auth/me
POST /api/tasksGET /api/tasksPUT /api/tasks/:idDELETE /api/tasks/:id
GET /api/users
GET /api/notifications
git clone https://github.com/sanskritityagi31/collab-task-manager.git