RECQ Payload Design

Now that we have the domain and all the functional requirements we can design our Payloads.

To design a RECQ architecture we need to define the four main payloads that describe actions and data.

To do this we need to follow the RECQ Communication Pattern that forces us to describe our system's interactions in terms of distinguished message classes: Commands, Events, Queries and Views.

By analysing each requirement and given the domain we can define these payloads:

  • As a user, I want to create a to-do list to fill it with todos.

    • TodoListCreateCommand

    • TodoListCreatedEvent

  • As a user, I want to delete a to-do list that does not contain checked todos because now is useless.

    • TodoListDeleteCommand

    • TodoListDeleteEvent

  • As a user, I want to add a to-do inside a to-do list to check it later.

    • TodoListAddTodoCommand

    • TodoListTodoAddedEvent

  • As a user, I want to remove a todo from a todo list because it will never be checked.

    • TodoListRemoveTodoCommand

    • TodoListTosoRemovedEvent

  • As a user, I want to check a to-do inside a to-do list to mark it as done.

    • TodoListCheckTodoCommand

    • TodoListTodoCheckedEvent

  • As a user, I want to get a list of all the Todo Lists in the systems to explore them.

    • TodoListListItemViewFindAllQuery

    • TodoListListItemView

  • As a user, I want to get the details of a to-do list to know every to-do status.

    • TodoListViewFindByIdentifierQuery

    • TodoListView

Last updated