Skip to content

Roadmap

Igor Toporet edited this page Apr 19, 2022 · 2 revisions

Sample domain is a "hello world" of all demos -- a todo app.

Iteration 1.

The initial scope will include creating tasks and marking them done.

Entities

  • Task (Id, Name, Done)

Use Cases

  • Create a task
  • View all tasks
  • Edit task name (incl. saving)
  • View active tasks
    • Mark task complete/done
  • View completed tasks
    • Mark task incomplete/undo
  • Delete task

Iteration 2.

Introducing multi-tenancy. Users will be identified by their email addresses.

Entities

  • User (Id, Email)
  • Task (Id, UserId, Name, Done)

Use Cases

  • All existing use cases would have to respect the user

Iteration 3.

Tasks can have details and a due date.

Entities

  • Task (Id, UserId, Name, Done, Details, DueDate)

Use Cases

  • Create a task with new fields
  • Edit task (incl. saving) with new fields
  • View tasks with a due day (ordered by due day in the ascending order)
    • This can be used by any client or UI to group by day or week, e.g. tasks due today, due this week, or due next week

Iteration 4.

Tasks can be grouped into lists.

For the migration, perhaps all the pre-existing tasks would have to be assigned to the system's default pre-made list "My Tasks".

Entities

  • List (Id, UserId, Name)
  • Task (Id, UserId, ListId, Name, Done, Details, DueDate)

Use Cases

  • View all lists
  • Rename list (incl. saving)
  • Create list
  • Delete list (warning: with all its tasks!)

Iteration 5.

Tasks can have multiple tags.

Entities

  • Task (Id, ListId, Name, Done, Details, DueDate, Tags[])

Use Cases

  • View all tasks by a tag across all the lists