Skip to content

Spike: recurring tasks design #158

Description

@MessiasLima

Description

Investigate the design for recurring tasks in Phase 4. Tasks can be configured to recur on a schedule — weekdays, weekly, or monthly. When the next occurrence arrives, a fresh task instance is created. This spike determines the recurrence data model, instance generation strategy, overdue handling behavior, and how recurrence settings are presented in the UI.

Background

Recurring tasks automate repetitive work. A user should be able to set a task to repeat (e.g. every weekday, every Monday, every 1st of the month) and have new task instances created automatically. Overdue recurring tasks need a defined behavior (carry forward, mark overdue, or keep old and create new). Before implementing, we need to decide on the data model and generation strategy.

Current Knowledge

  • Tasks have all Phase 1 fields including due date
  • No recurrence concept exists yet
  • The app uses Room for local persistence
  • Cloud sync (Phase 1 spike) will need to account for recurring tasks in the sync model
  • Recurrence settings will be added to the existing settings screen

Scope

In scope: recurrence data model (schedule type, interval, end condition), instance generation strategy (when and how new instances are created), overdue recurring task handling (carry forward, mark overdue, or keep old while creating new), recurrence UI in create/edit task screen, recurrence settings in the settings screen, visual indicators for recurring status in the task list.

Out of scope: implementation of recurring tasks, cloud sync of recurrence data, pomodoro timer or task-timer integration.

Outcomes

  • Document the recurrence data model (schedule types: daily/weekday, weekly, monthly; interval; end condition)
  • Define the instance generation strategy (time-based trigger, app-open generation, or both)
  • Determine overdue recurring task handling behavior (carry forward, mark overdue, or keep old + create new)
  • Define how recurrence settings are presented in the create/edit task UI
  • Define recurrence-related settings in the settings screen
  • Specify visual indicators for recurring tasks in the task list
  • Create implementation tickets based on spike findings

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions