Skip to main content

Introduction

Many companies adopting event-driven architectures are struggling to document their architectures, they lack governance and discoverability.

EventCatalog is an open source project to help you bring discoverability to your event-driven architecture through documentation, visualization and docs-as-code.

What can EventCatalog do for you?

  • Help you document your event-driven architectures in no time.
  • Document your domains, services, messages (events, commands, queries) and channels.
  • Assign ownership to your architecture and documentation. Find the right person to answer questions.
  • Save time by helping your developers, architects and business stakeholders quickly understand and find the information they need.
  • Turn your event-driven architecture into a living documentation that is always up to date.
  • Visualize your event-driven architecture in a way that is easy to understand.
  • Automate your documentation by turning your OpenAPI or AsyncAPI specification files into documentation.
  • Integrate with any broker, schema format and technology in the world, sync schemas into your documentation.
  • Use your own LLM models to find information you need through EventCatalog Chat and EventCatalog MCP Server.
  • You own your own data, and host it wherever you want.

Project motivation​

Event-driven architectures have been around for decades, and recently we have seen a rise of distributed message based architectures.

With companies providing high levels of abstractions and cloud based services, building event-driven/distributed architectures are becoming more accessible for developers every day.

These architecture styles are becoming popular as they provide teams the ability to create loosely coupled, distributed and highly scalable systems.

Practices like EventStorming and EventModeling are equally becoming popular within teams as they look to map their business and domains into software architecture.

Complexity with event-driven architectures​

πŸŽ₯ Explore the roots of EDA complexity in "Complexity is the Gotcha of Event-driven Architecture"

When you start building event-driven architectures complexity may be hidden. Over time your architecture matures and grows, more producers/consumers, that's when complexity presents itself.

You may see questions start to emerge within your business:

  • What messages (events, commands, queries) do we have?
  • Why do these messages exist? What’s the context?
  • What are the payloads of these messages?
  • How can I make changes?
  • Who is consuming these messages?

These are common questions when building event-driven architectures, but there is a lack of discoverability tools for event-driven architectures to address these issues.

Discoverability and documentation are treated as an afterthought, but what if we could solve this?

What if we could:

  • Document our domains, services and messages
  • Version domains, services and messages
  • Visualize flow between messages in our system
  • Define bounded context and visualise our event-driven architecture?
  • Bring discoverability to event-driven architectures?

Say hello to EventCatalog.


What is EventCatalog?​

EventCatalog is an open source documentation tool focused on event-driven architectures.

EventCatalog has one mission: bring discoverability to event-driven architectures.

EventCatalog is not locked down to any technology, broker or implementation details.

It has been designed to be extendable, easy to use and maintain, supporting plugins, documentation generators, multiple schema formats and much more.

Core Features​

  • πŸš€ Built with Event-Driven Architectures in mind

    • Write documentation for commands, events, queries, channels, schemas, domains and services
    • Supports any schema format (e.g avro, JSON, protobuf)
    • Keep track of changes. Version messages, channels, services and domains.Β 
    • Integrate with third party systems using our SDK.
  • Pluggable

    • Bootstrap your site with a basic template, then use advanced features and plugins
    • Custom SDK to integrate with your architectures.
    • Open source your plugins to share with the community
  • βœ‚οΈ Developer experience

    • Start writing your docs right now
    • Universal configuration entry point to make it more maintainable by contributors
    • Publish anywhere.

Staying informed​

Looking for v1 docs?

EventCatalog is currently on v2. If you are looking for v1 docs you can find them here.

Something missing?​

If you find issues with the documentation or have suggestions on how to improve the documentation or the project in general, please file an issue for us