Task Service

NestJS:8014Core

The Task Service handles task creation, assignment, tracking, and workflow management. It provides comprehensive task lifecycle operations with access control and fuzzy search capabilities.

Key Features

  • Task Lifecycle — Create, assign, update, complete, and close tasks
  • Assignment Management — Assign tasks to users and groups
  • Access Control — Permission-based task visibility
  • Fuzzy Search — Levenshtein distance matching for task search
  • Attachment Support — Link files and documents to tasks
  • Priority Management — Task prioritization and deadline tracking

API Endpoints

GET
/api/task

List tasks with filters and pagination

POST
/api/task

Create new task

GET
/api/task/:id

Get task details

PUT
/api/task/:id

Update task

POST
/api/task/:id/assign

Assign task to user/group

POST
/api/task/:id/complete

Mark task as completed

GET
/api/task/my-tasks

Get tasks assigned to current user

Configuration

NameTypeDefaultDescription
PORTnumber8014Service listening port
DB_HOSTstringlocalhostMSSQL server host
DB_USERNAMEstring-Database username
DB_PASSWORDstring-Database password
RABBITMQ_URISstring-RabbitMQ connection URIs
REDIS_HOSTstringlocalhostRedis host

RabbitMQ Integration

Publishes to:

  • Task assignment and completion notification events

Database

Uses tenant-specific MSSQL databases for task storage with Sequelize ORM. Key tables include tasks, task assignments, task history, and task attachments.