event-catalog / eventcatalog

An open source documentation tool to bring discoverability to your event-driven architectures
https://eventcatalog.dev
MIT License
1.71k stars 145 forks source link

Domain Events - Add Support #545

Open danielmackay opened 3 months ago

danielmackay commented 3 months ago

Problem / Context

Currently, EventCatalog is targeted out Micro Services, the Domains they contain, and the Integration Events that flow between different services (at least from my understanding).

Integration Events are those that flow between Services or Systems.

Suggestion

It would be great to also have support for Domain Events, which are events that are raised and handled WITHIN a Domain.

The following are typically involved:

black-snow commented 3 months ago

How would you distinguish between 'em in an AsyncAPI spec, for example? I feel like this adds confusion.

I wouldn't want to expose my internal sync APIs in, e.g., Backstage either. Isn't the whole point to document your public API?

danielmackay commented 3 months ago

How would you distinguish between 'em in an AsyncAPI spec, for example? I feel like this adds confusion.

I wouldn't want to expose my internal sync APIs in, e.g., Backstage either. Isn't the whole point to document your public API?

You are correct, Domain Events are not public, but private within an application or module. Therefore, it most likely doesn't make sense in an AsyncAPI spec.

However, I believe there is still value in documenting internal Domain Events to help better understand a system.