Skip to main content

6 posts tagged with "release"

View All Tags

· 2 min read
David Boyne

cover

We are happy to announce that users can now use OpenAPI to help them document their services within EventCatalog!

This is a great feature from Rodolfo Toro ⭐️

This feature will allow you to easily display Swagger UI within EventCatalog in a few steps..

EventCatalog is focused on making Event Architecture documentation simple and useful. Having OpenAPI support for your services is another great reason to try out EventCatalog to help you document your Event Architectures.

info

Want to see the Demo? You can view it here: https://app.eventcatalog.dev/services/Payment%20Service/

How does EventCatalog work with OpenAPI?

EventCatalog allows you to document your events, domains and services using Markdown and custom components.

We have now introduced a new component that allows you to display your OpenAPI spec files within any of your services.

You can add OpenAPI specification files to your services following these steps:

  1. Add your openapi.yaml or openapi.json file into your service
    • example /services/{Your Service}/openapi.yaml
  2. Add the Component OpenAPI inside your service markdown file.

This will load your OpenAPI file into your Service Page.

Example of loading OpenAPI into Service file
---
name: Payment Service
summary: |
Event based application that integrates with Stripe.
owners:
- dboyne
---

The payment service is our own internal payment service that listens to events from stripe and handles them within our own domain.

We use Stripe to handle services and use this Payment service to enrich events for internal use.

<OpenAPI />

<NodeGraph />


Example Output

OpenAPI Example

info

Want to see the Demo? You can view it here: https://app.eventcatalog.dev/services/Payment%20Service/

How can you get started?

If you already have EventCatalog then you will need to add the file openapi.yaml or openapi.json to your service folder. Then add the <OpenAPI /> component to your Markdown.

If you have yet to try EventCatalog, head over to our getting started guide, where you can get a catalog started within minutes using our NPM packages.

Summary

This is a great feature from Rodolfo Toro and it is starting to show how the EventCatalog community is starting to grow!

Thank you Rodolfo Toro for your great contribution and we hope you all find it useful!

If you have any ideas or feedback feel free to raise an issue on GitHub or come join us on Discord.

Enjoy!

· 2 min read
David Boyne

cover

We are happy to announce that EventCatalog now supports domains.

This feature allows you to document domains and group events and services to them.

EventCatalog is focused on making Event Architecture documentation simple and useful. Grouping your events and services using domains makes it easier to maintain and describe your event architectures.

info

Want to see the Demo? You can view it here: https://app.eventcatalog.dev/domains/

How do domains work?

EventCatalog is designed to help you build Event Architecture Documentation using folders and markdown files. There are three main concepts to EventCatalog events, services and domains.

You can use EventCatalog to group your events and services using domains, and you can also create pages for your domains, helping you document them and use custom MDX components.

Adding domains can be done with some simple steps:

  1. Create your domain folder /domains/{Your Domain}
    • example: /domains/Orders
  2. Add details about your domain (title, summary, components)
    • example: /domains/Orders/index.md
  3. Add events or services to your domain
    • event example: /domains/Orders/events/OrderCreated/index.md
    • service example: /domains/Orders/services/OrderCreated/index.md

EventCatalog uses markdown and the file system to help you encapsulate and document your domains.

How can you get started?

If you already have EventCatalog and want to use the new domains feature checkout the migration guide

If you have yet to try EventCatalog, head over to our getting started guide, where you can get a catalog started within minutes using our NPM packages.

Summary

EventCatalog was launched in January 2022 and so far we have had thousands of catalogs created, a great community building and some great momentum.

Supporing Domains in EventCatalog the top requested feature.

The project community provided some great feedback and ideas on how we could support domains and we are super excited and happy with the outcome!

Domains are a key core part of Event Architectures and we are super excited to now support them and help you document your event architectures.

If you have any ideas or feedback feel free to raise an issue on GitHub or come join us on Discord.

Enjoy!

· 2 min read
David Boyne

cover

We are happy to announce that the new visualiser feature has been released 🎉.

The visualiser allows you to see the relationships between all events, publishers and subscribers.

EventCatalog is focused on making Event Architecture documentation simple and useful. With the visualiser you will be able to understand the relationships between all your events and services.

info

Want to see the Demo? You can view it here: https://app.eventcatalog.dev/visualiser/

How does the visualiser work?

EventCatalog is powered by markdown files. Everything you see within the catalog is information written and stored within your markdown files. The visualiser parses your markdown files, understands the relationships between your events and services and can render node graphs based on your architecture.

If you want to add or remove publishers or subscribers you can simply edit your markdown files and instantly see the changes in your diagrams.

How can you get started?

If you already have EventCatalog simply upgrade your @eventcatalog/core package to the latest and navigate to your visualiser. (new item in the navigation bar).

If you have yet to try EventCatalog head over to our getting started guide, where you can get a catalog started within minutes using our NPM packages.

Summary

EventCatalog has only been out over a month so far and we have a great community providing feedback and using the catalog.

The visualiser feature was designed to help you and your team document your architectures and provide visual help to do that.

If you have any ideas or feedback feel free to raise an issue on GitHub or come join us on Discord.

Special thanks to Thim for making this feature possible with the introduction to Node Graphs without our MDX Components.

Enjoy!

· 3 min read
David Boyne

EventCatalog with Amazon EventBridge

EventCatalog now supports integration and document generation from Amazon EventBridge.

The new amazon-eventbridge-plugin has now been released which allows you to generate documentation from your Schema Registry, Targets, Rules and much more.

Plugin Features

  • 📄 Automatic documentation with versioning
  • 👨‍⚕️ Add owners (people/teams) to your events
  • 📊 Visualise Targets and Rules for Each Event
  • 🌎 Quick access to AWS Console within each Event
  • 🗄 JSONDraft4 and OpenAPI Schemas
  • 💅 Customise and add content to each event (capture information, and details)
  • ⚡️ Powered by markdown, setup in seconds.

How plugins work with EventCatalog

EventCatalog is built to support many brokers, languages and specifications. This allows us to remain technology agnostic and integrate with users existing solutions.

EventCatalog supports generation plugins which you can use to generate documentation from any third party source.

tip

Want to integrate with something else? You can write your own plugin! You can use the @eventcatalog/utils to help you too!

Let's take a quick look at how the generation works...

architecture

As we see in the diagram above, EventCatalog supports a generation phase. This means when you run npm run generate on your catalog it will go through all your configured plugins and execute them.

How does generation work with Amazon EventBridge?

When you configure and install the amazon-eventbridge-plugin and run npm run generate EventCatalog will request data from your EventBridge Schema Registry and parse your event information into documentation that is rendered by your EventCatalog.

architecture

When parsing your schemas EventCatalog will render documentation that has Graphs, Quick Links to AWS Console, JSONDraft4 and OpenAPI schemas and much more...

You can read more details on the features and installation guide.

How does your content stay up to date?

Once you configure your plugin, every time you call npm run generate the new information is pulled down from AWS and transformed inside your catalog.

The EventBridge plugin will check for version changes and version your old events when it needs too.

The core requirement for EventCatalog is to allow people to easily create and maintain documentation for their Event Architectures. You can add any meta information you want to your schema documentation and that information will be used for future events. This means you can add things like event context, team information or schema information once, and this will be persisted across your events (if you choose).

Getting Started

To get started head over to the plugin installion guide.

Summary

This is the second plugin to be officially released and we also have a small community of users that are also building more plugins for EventCatalog.

Amazon EventBridge is a great serverless offering that allows us to write Event Driven Applications and EventCatalog allows you to easily document your event schemas.

Documenting your schemas/events for your teams can help your team discover what events are available in your architecture and understand why your events are created in the first place.

EventCatalog is powered by markdown, which means you can add as much context to your EventBridge schemas as you like and share them around with the static website that EventCatalog generates.

If you have any ideas or feedback feel free to raise an issue on GitHub or come join us on Discord.

Enjoy!

· 2 min read
David Boyne

cover

Previously EventCatalog was using parts of NextJS that required a server to run (getServerSideProps) and NextJS API Route.

One of the top requests from the community was the ability to render EventCatalog as static content rather than having to run a server to host the catalog...

We are happy to announce that EventCatalog now exports static HTML an no longer requires a server to run!

What does this mean?

When your run npm run build on EventCatalog it now bundles your content into static HTML using NextJS export feature.

This now means that EventCatalog can be hosted anywhere and no longer needs a server to run 🤩.

If you want to learn more you can read the deployment guide.

What about future features that require a server?

We will see how EventCatalog code evolves, but if we need any features that require a server in the future, we can explore using feature switches and APIs to enable further enrichment of EventCatalog.

Thanks

Shout out to @timhaselaars and @otbe for the ideas and code to help make this possible 🙏.

If you have any problems or further ideas for EventCatalog feel free to raise an issue or join our community on discord.

Enjoy!

· 2 min read
David Boyne

cover

EventCatalog now supports integration and document generation from your AsyncAPI specification files.

The new asyncapi-plugin has now been released which allows you to generate documents from your events and services automatically.

How plugins work with EventCatalog

EventCatalog is built to support many brokers, languages and specifications. This allows us to remain technology agnostic and integrate with users existing solutions.

EventCatalog supports generation plugins which you can use to generate documentation from any third party source.

tip

Want to integrate with something else? You can write your own plugin! You can use the @eventcatalog/utils to help you too!

Let's take a quick look at how the generation works...

architecture

As we see in the diagram above, EventCatalog supports a generation phase. This means when you run npm run generate on your catalog it will go through all your configured plugins and execute them.

How does generation work with AsyncAPI?

When you configure and install the asyncapi-plugin and run npm run generate your AsyncAPI file is parsed and services, events and schemas are extracted from it.

test

This information is then stored inside the correct places within your catalog and you should be good to go!

tip

If your AsyncAPI version has changed since last time, EventCatalog will version your previous events and use the new ones at the latest version.

What happens to content already in the Catalog?

If you already have events and services documented in your catalog, the asyncapi-plugin can version your events for you (configurable) before overriding them.

Any content you add in your existing events or services will be used and not overridden on the next generation phase. This means you can keep all your custom markdown content without replacing it every time you generate your documents. The frontmatter of your services and events will be the only things that are replaced.

Summary

AsyncAPI is a great way for people to document their architectures, allowing you to describe servers, services, events, schemas and much more.

EventCatalog now supports integration with AsyncAPI which hopefully helps you get all the benefits of the catalog alongside your AsyncAPI files.

To get started head over to the async-api plugin api documentation.

If you have any ideas or feedback feel free to raise an issue on GitHub or come join us on Discord.

Enjoy!