Skip to content

Create Task Flow

Creates a new Task within a pod.

Components Involved

Component Role
web User interface for task creation
server API endpoint and database operations

User Flow (Web)

  1. From HomePage, user clicks "New Task"
  2. Navigates to /tasks/new (CreateTaskPage)
  3. User enters:
  4. Task name (required)
  5. Description (optional)
  6. Pending after duration (default: 1 day)
  7. Overdue after duration (default: 2 days)
  8. Clicks "Create Task" button
  9. On success, navigates to HomePage with refreshed task list

API Request

Swagger: POST /beta/pods/{podId}/tasks

POST /beta/pods/{podId}/tasks
Authorization: Bearer {token}
Content-Type: application/json

{
  "name": "Feed the cat",
  "displayText": "Don't forget wet food!",
  "pendingAfter": 86400000000,
  "overdueAfter": 172800000000
}

Durations are in microseconds.

API Response

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "name": "Feed the cat",
  "displayText": "Don't forget wet food!",
  "pendingAfter": 86400000000,
  "overdueAfter": 172800000000
}

Sequence Diagram

┌──────┐          ┌──────┐          ┌────────┐
│ User │          │ Web  │          │ Server │
└──┬───┘          └──┬───┘          └───┬────┘
   │  Click New Task │                  │
   │─────────────────>                  │
   │                 │                  │
   │  Fill form      │                  │
   │─────────────────>                  │
   │                 │                  │
   │  Submit         │                  │
   │─────────────────>                  │
   │                 │  POST /tasks     │
   │                 │─────────────────>│
   │                 │                  │ Verify membership
   │                 │                  │ Validate input
   │                 │                  │ Create task
   │                 │    201 Created   │
   │                 │<─────────────────│
   │                 │                  │
   │  Task list      │ Navigate home    │
   │<─────────────────                  │
   │                 │                  │

Validation Rules

Field Rule Error
name Required, non-empty "Name is required"
pendingAfter Minimum 1 hour "Pending duration too short"
overdueAfter Minimum 1 hour "Overdue duration too short"