Skip to main content
⭐️ If you love EventCatalog, give it a star on GitHub. Thanks!

Introduction

⚡ ️ EventCatalog helps you document your event-driven architectures in no time.

⚡️ Document your domains, services and messages (events, commands, queries).

⚡️ Supports documenting OpenAPI specifications, schemas, code examples and much more.

⚡️ EventCatalog visualizes your event-driven architectures.

⚡ ️EventCatalog is focused on developer experience and simplicity.

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

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: To help people bring discoverability to their 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.

EventCatalog Core Features

  • 🚀 Built with Event-Driven Architectures in mind

    • Write documentation for Commands, events, schemas, domains and services

    • Supports any Schema format

    • Version messages, services and domains. 

    • Integrate with third party systems

  • Pluggable

    • Bootstrap your site with a basic template, then use advanced features and plugins

    • Custom SDK to build your event-driven 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