← Back to Documentation Home

User Documentation

Context

A Context represents a bounded context in Domain-Driven Design - a cohesive unit of business functionality with clear boundaries.

Key Fields

  • Name: Context identifier
  • Team: Team responsible for this context
  • Description: Purpose and business capabilities
  • Business Products: Products this context supports
  • Regions: Regions where this context operates
  • Assigned Systems: Systems that host this context
  • User Groups (Actors): Actors that interact with this context
  • Subscribed Events: Events this context listens to
  • Published Events: Events this context produces
  • Called Interfaces: Interfaces this context calls
  • Provided Interfaces: Interfaces this context offers

How It Works

graph TB Context[Context] -->|hosted by| System[System] Context -->|provides| Interfaces[Interfaces] Context -->|publishes| Events[Events] Context -->|scoped to| Products[Products] Context -->|operates in| Regions[Regions]

Domain-Driven Design

A bounded context is:

  • A specific responsibility within your system
  • A language boundary (ubiquitous language within)
  • An ownership boundary (single team responsible)
  • An integration boundary (explicit contracts with other contexts)

Interfaces vs Events

  • Interfaces: Synchronous calls between contexts (request/response)
  • Events: Asynchronous messages (publish/subscribe)

Creating Interfaces and Events

In the "Published Interfaces" and "Published Events" fields:

  1. Type a new name and press Enter
  2. The system creates the interface/event automatically
  3. Other contexts can now call/subscribe to it

The editor shows which contexts consume your interfaces/events.

Integration

  • Storage: korgraph database, type context
  • Hierarchy: Child of subdomain
  • Relationships: Many-to-many with systems, actors, interfaces, events

Derived Connections

System-to-system edges are automatically created when:

  • Contexts from different systems call each other's interfaces
  • Contexts from different systems publish/subscribe to events

Tips

  • Keep contexts focused on a single business capability
  • Define clear interface contracts
  • Use events for decoupling and async communication
  • Assign products/regions to enable filtering