Build Tasks with Rewards
Create Task Form
-
Title
-
Description
-
Three possible assignments:
-
Assign to someone: Enter Assignee (can be by chat user?)
-
assign to self: auto accepted,
-
assign to team: (to be discussed on how to handle individuals in team, and payments) - Maybe this is too complex for this development round.
-
do not assign: (goes to marketplace)
-
-
Reward (Amount) (in XTX or other currency dependent on user setting for currency conversion which itself depends on blockchain exchange rates).
- Cannot be negative.
Advanced section of form: (can this be hidden behind an accordion?) Maybe there should be a common tasks template button? This will prefill the fields. All new tasks are added to the template when the transaction succeeds (not before)?
-
buying / selling toggle
-
tags
-
parent taskno longer needed as child task will be created using deterministic hashing
-
milestone (child task)cannot be part of the form as the task hash needs to exist before a milestone can be created
-
deadline with dropdown selector, hours, date. (on-hold because handling deadline logic is complex on chain as we would have to finalise a change of state "missed deadline")
Not seen in form
-
Record Status (similar to timekeeping) (accepted, submitted, approved, rejected, disputed)
-
Maybe there should be a specific Task Status? Pending start, Work in progress, Completed Task? - to be discussed
-
token (Data hash token)
-
Process
If task is being posted to the marketplace then a chat user is not necessary. The acceptance mechanism can be the same for both processes (2 below). If the Assignee is toggled on;
-
use chat user ID to communicate directly to that user
-
User accepts or rejects.
2.1. If they accept then they need to select an account to pay (to be communicated to task owner as a transaction)
2.1.1 The task is then entered into a list of tasks - task status can be set when accepting task. If no specific task is set then default to "pending start"
2.1.2 When the user sets "task completed" status, it sends a "completed" message to task setter and changes the record status to submitted.
2.1.3 Follows the same dispute or rejection procedure as timekeeping
2.1.4 if accepted then a payment for the amount is triggered directly.
2.2.5 The task can no longer be updated once payment has been made.
Lists
- there is a manage my tasks list (applies to tasks
3.1 this displays all tasks created
3.2 tasks can only be edited/deleted if they have not yet been accepted.
3.3 should also contain archiving as timekeeping does.