← Home

Task Management System

Collaborative Task Tracking with Status Workflow and Audit Logging

Task Management System preview

PROJECT OVERVIEW

A full-stack task management application that enables teams to create, assign, track, and complete tasks with status workflows, priority levels, and complete audit history. The system supports role-based task creation, approval workflows, and real-time task reassignment across team members.

PROBLEM

Teams managing tasks across email, spreadsheets, and informal channels lack centralized tracking, accountability, and visibility into task lifecycles. This system provides a structured workflow with approval gates, role-based permissions, and immutable audit logs to ensure transparency and prevent task loss or duplication.

CORE FEATURES

  • Task creation with auto-assignment and approval by creator
  • Multi-status workflow: Pending → In Progress → Completed or Rejected
  • Real-time task reassignment with audit trail and status reset
  • Urgency levels (1-5) with color-coded visual indicators
  • Filterable task list by assignee, creator, status, and urgency
  • Infinite scroll pagination with lazy loading
  • Complete task history with timestamped updates and user attribution

STATUS WORKFLOW

  • Status 1 (Pending): Task awaiting acceptance or assignment
  • Status 2 (Approved): Creator auto-approves on creation; only approvable once
  • Status 3 (In Progress): Task actively being worked on
  • Status 5 (Completed): Task finished; locked from further status changes
  • Status 6 (Rejected): Task cancelled; tracks who rejected and when
  • Each status change is logged with actor name, timestamp, and reason

TASK PROPERTIES & UPDATES

  • Name, description, notes editable with debounced save (500ms)
  • Due date picker with local timezone conversion
  • Urgency selector (1-5) with dynamic color coding
  • Assignment tracking: assigned_to, assigned_by, assigned_date
  • Approval tracking: approved_by, approved_date (single approval max)
  • Rejection tracking: rejected_by, rejected_date
  • Completion tracking: completed_by, completed_date

ACCESS CONTROL & FILTERING

  • Users see only their assigned tasks by default
  • Filtering by assignee, requester, creator, status, urgency
  • Task creators can reassign tasks to other team members
  • Status changes scoped to role (managers approve, assignees complete)
  • Reassignment resets status to Pending and clears assignment history

DATA PERSISTENCE & AUDIT

  • MySQL-backed task storage with relational task_updates table
  • Atomic updates with prepared statements to prevent SQL injection
  • Immutable task_updates log capturing property changes, actor, timestamp
  • Soft audit trails: no hard deletes; all changes reversible via UI
  • Date conversion from ISO to local timezone on frontend

TECHNICAL ARCHITECTURE

Frontend

Angular, TypeScript, ngModel binding

Backend

Node.js, Express, REST APIs

Database

MySQL (task, task_updates, task_statuses, task_urgencies)

Auth

JWT tokens (Bearer header or cookie), role-based filtering

Query Pattern

Multi-statement SQL with LEFT JOINs for account denormalization

Deployment

Node.js backend with MySQL database