Introduction
⚡ ️ EventCatalog helps you document your event-driven architectures in no time.
⚡ ️ Bring discoverability and governance to your event-driven architectures.
⚡️ Document your domains, services, messages (events, commands, queries) and channels.
⚡️ Supports documenting OpenAPI specifications, schemas, code examples and much more.
⚡️ EventCatalog visualizes your event-driven architectures.
⚡️ Automate your documentation using generators.
⚡️ Federate many catalogs into one with EventCatalog Federation.
⚡️ Automate with your OpenAPI and AsyncAPi specifications, schema registries and any broker in the world.
⚡ ️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, 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
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