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.

CompletedBackend & Applications

Problem

Engineering teams need to plan work, assign it and follow progress together, with changes visible to everyone as they happen.

How it works

Request path. Select a step to read what happens there.

Next.js app

App Router pages for auth, dashboard, projects and activity, with state in Zustand stores.

CI/CD pipeline. Select a step to read what happens there.

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.

Are you sure?