TaskFlow: Team Task Manager
Task manager with a drag-and-drop Kanban board, real-time updates over Socket.IO and role-based access. Next.js 14 front end, Express and Prisma back end on PostgreSQL.
Problem
Engineering teams need to plan work, assign it and follow progress together, with changes visible to everyone as they happen.
How it works
Next.js app
App Router pages for auth, dashboard, projects and activity, with state in Zustand stores.
Lint and type-check
Matrix job over backend and frontend.
Approach
A full-stack TypeScript application: a Kanban board with four status columns, projects with members and roles, task comments and notifications, and an activity log, backed by PostgreSQL.
What I implemented
- Express API in TypeScript organised as routes, controllers and services, with Swagger/OpenAPI documentation and Winston logging.
- JWT access tokens with a refresh token stored in an httpOnly cookie, bcrypt hashing and admin and member roles.
- Real-time updates over Socket.IO and a drag-and-drop board built with dnd-kit.
- Multi-stage Dockerfiles that run as non-root users, plus Railway deployment configuration.
- GitHub Actions pipeline with lint, type-check, build, Docker image publishing and a deploy job.
Limitations and next steps
- No automated tests in the repository yet.