/eventcatalog

Discover, Explore and Document your Event Driven Architectures powered by Markdown.

Primary LanguageTypeScriptMIT LicenseMIT

📖 EventCatalog

Discover, Explore and Document your Event Driven Architectures.

MIT License PRs Welcome

All Contributors

Watch on GitHub Star on GitHub


header

Features: Website generator for Event Driven Architectures, Markdown driven, Document Events/Services/Schemas, Event Versioning, Event/Service Owners, Schema Changelogs, and more...

Read the Docs | Edit the Docs | View Demo


Core Features

  • 🔎 Discover Events
  • 📃 Document Events
  • 📊 Visualise Events & Services
  • ⭐ Supports any Event Schema
  • 🗂️ Code Examples (Any Language)
  • 🗄️ Event and Schema Versioning
  • 📑 Event changelogs
  • ⭐ And much more...

All powered by markdown

The problem

Event-Driven Architectures allow us to scale, be agile and keen our architecture decoupled.

When starting off with Event-Driven Architectures we spend time discovering our core business events, writing code to match them and maintain versions going forward.

Over a period of time more events are added to our domain, requirements change, and our architecture scales.

As more events, services and schemas get added to our domains they can be hard for our teams to discover and explore.

Discovery and documentation is a key part to scalable Event Driven Architecture and EventCatalog helps you maintain documentation for them.

EventCatalog was built to help document your EDA and help your teams explore and understand events, schemas and much more.

Read more on these blogposts:

This solution

Think of EventCatalog as a website generator that allows you to document your event architectures with markdown files.

Markdown files are quite a popular tool to help us document content, so why not use markdown files to document our events, services and schemas?

EventCatalog is focused on discovery and documentation and allows you to:

  • Document Events/Schemas/Code Examples and more...
  • Visually shows relationships between upstream/downstream services using your Events
  • Allows you to version your documentation and supports changelogs
  • Add owners to events and services so your teams know who owns which parts of your domain
  • And much more...

EventCatalog is technology agnostic, which means you can integrate the Catalog with any EDA technology of your choice and any schema format.

EventCatalog supports a Plugin Architecture which will let you generate documentation from your systems.

You can read more on how it works on the website

Getting Started

You should be able to get setup within minutes if you head over to our documentation to get started 👇

➡️ Get Started

Or run this command to build a new catalog

npx @eventcatalog/create-eventcatalog@latest my-catalog

Demo

Here is an example of a Retail system using events and services. Everything you see is driven by markdown files

app.eventcatalog.dev

You can see the markdown files that generated the website in the GitHub repo under examples.

Contributing

If you have any questions, features or issues please raise any issue or pull requests you like. We will try my best to get back to you.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


David Boyne

💻 🖋 🎨 💡 🤔 📖

Benjamin Otto

💻 🤔 📖 🐛

Tiago Oliveira

📖 🐛

Jay McGuinness

📖

David Khourshid

📖

thim81

🤔 🐛 💻

Muthu

🐛

Dan Tavelli

📖

steppi91

📖

Donald Pipowitch

🐛 💻

Ken

📖

Rodolfo Toro

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Sponsor

If you like what you see, feel free to sponsor the project.

License

MIT.