Skip to content

Functional Overview

Christian Folie edited this page Jun 29, 2021 · 2 revisions

Domains Overview Screen

Shows domain including subdomains and bounded contexts

Actions

  • Create Domain - name required and jump into domain detail
  • Move Domain - search for a domain where this domain should be moved (two use cases hidden here)
    • Convert to Subdomain
    • Promote Domain - make a sub domain a root domain
  • Delete Domain

Domain Detail Screen

Drill into Subdomain -> Shows more or less the same than Domains Overview Screen

Actions

  • Assign domain key - uniqueness is enforced in frontend
  • Change domain name
  • Refine vision
  • Create Bounded Context
  • Delete Bounded Context
  • Move Bounded Context - search for a new domain where that bounded context shall be moved

Bounded Context Overview Screen

Actions

  • Change name

  • Change classification

  • Change description

  • Assign key - includes uniqueness check

  • Business decisions

    • Add new business decision - includes uniqueness check
    • Remove business decision
  • Ubiquitous language

    • Add term - includes uniqueness check
    • Remove term
  • Domain Roles (multiple roles)

    • Add domain role name - includes uniqueness check, can choose from predefined roles
    • Remove domain role
  • Messages consumed/produced

    • Add command, event, queries - uniqueness checks for names, is not linked to sources/targets but just names. Long term perspective could be to link it to sources/message contracts, prefill values from source code,...
  • Dependencies and Relationships

    • Add connections - to other bounded contexts, classification of collaboration, inbound/outbound, pick collaborators (domain, bounded context)
    • Delete connection
    • Define collaborator relation - via DDD collaboration patterns / context mapping patterns

Namespaces Screen

Simple low validation display of namespace. Namespace name must be unique to a bounded context. URLs are handled a bit different - URLs shows link and displays the value as link.

Actions

  • Create namespace (named or from predefined template) - template helps creating but behaves like a normal namespace later on
  • Add label/value (Label value may be empty)
  • Remove label/value
  • Delete namespace

Search Screen

Displays all domains/subdomains/bounded contexts and filter for namespace values. Search is done by backend API.

Actions

  • Filter by namespace/label/value

API

  • API endpoint for each of the actions
  • Pulling a object graph but collaborators are not returned because they are not owned by a single domain / bounded context
Clone this wiki locally