Backend / API

Task Management API

A collaborative workspace API for organizing projects, assigning tasks, and tracking delivery. Project membership connects tasks, labels, and conversations, with searchable work queues and paginated results.

01

Project membership & task assignment

02

Status, priority, label & assignee filters

03

Validated requests & global rate limiting

API surface

Task Management API

  • POST/api/v1/projects

    Create a project and add its creator as an owner member.

  • GET/api/v1/projects/:projectId/tasks

    Search and paginate tasks by status, priority, assignee, or label.

  • PATCH/api/v1/projects/:projectId/tasks/:taskId/status

    Move a task through TODO, IN_PROGRESS, IN_REVIEW, and DONE.

  • POST/api/v1/auth/login

    Authenticate and receive a JWT access token.

  • POST/api/v1/projects/:projectId/tasks/:taskId/comments

    Add a comment to a task within a project.

  • GET/api/v1/health

    Read application status and timestamp.

Architecture

  1. 1

    NestJS feature modules separate authentication, users, projects, tasks, labels, and comments. Controllers accept validated DTOs before service logic runs.

  2. 2

    Prisma manages PostgreSQL persistence and versioned migrations. Membership checks keep project resources and task assignments scoped to the right workspace.

  3. 3

    Global JWT authentication, request throttling, Helmet headers, and configurable CORS provide shared request protection. Interceptors handle logging and a consistent data response wrapper.

  4. 4

    Vitest integration and end-to-end tests use an isolated PostgreSQL database. CI also checks that the production container can run migrations and serve its health endpoint.