Skip to main content

Introduction

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

⚡ EventCatalog helps you govern your event-driven architecture, helping developers, architects and business owners understand what is going on.

⚡️ EventCatalog visualizes your event-driven architectures, a story everyone can understand.

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

⚡️ Automate your documentation using your OpenAPI specification files or AsyncAPI specification files.

⚡️ Integrate with any broker, schema format and technology in the world.

⚡️ Automate your documentation using generators or write your own scripts with our SDK.

⚡️ EventCatalog scales with your organization. Keep your documentation close to your code with EventCatalog Federation.

⚡️ Find insights in seconds rather than days with EventCatalog Chat

⚡ ️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

🎥 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.

EventCatalog 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