+
Skip to content
This repository was archived by the owner on Aug 1, 2022. It is now read-only.

fals/choreography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Choreography-UI

Choreography is an attempt to document events from a specific Microservice. In the modern world, with Event Driven Architectures becoming the norm, document events and providing Discoverability for those events is challenging.

What is Choreography-UI then?

I picture it as a Swagger-UI for events in your Microservice. It allows you to add automatic documentation and provide discoverability for those events that service produces, and where those events go.

Who is Choreography-UI meant for?

If you use Asp.NET Core applications, using strongly typed events this is ideal for your.

How do I setup it

Install Nuget latest version

https://www.nuget.org/packages/Choreography.AspNetCore.UI

Configure Service

Add to your Startup.cs file to ConfigureServices method the Descriptor. The descriptor reads all non-abstract classes that are assignable from the specified type. Make sure those classes have a default constructor.

public void ConfigureServices(IServiceCollection services)
{

    services.AddControllers();
    services.AddChoreographyDescriptor<IEvent>();
}

Configure UI

Add to your Startup.cs file to Configure the UI configuration.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ... other app config
    app.UseChoreographyUI(options =>
    {
        options.HeadContent = "Choreography UI";
        options.MessageBroker = "choreography.mybroker.com";
        options.TopicName = "choreography-topic";
        options.DocumentTitle = "Choreography";
    });
}

As you can see, you can display custom information to customize your page, also output the Broker and Topic/Queue your Microservice produces events to.

Hit the UI

After starting your service, just go to the URL to see the UI:

https://{SERVICE_URL}/choreography/index.html

You shall see the UI like below.

choreography-ui-aplha

Limitations

  • UI still need some usability love

Expected Roadmap

This project still experimental, I want community feedback, but here it goes what I'm planning to do:

Status Version Feature
alpha Gather community feedback about the idea
beta Based on community feedback and known limitations fix issues
1.0.0 Display the event as C# class
1.1.0 Copy buttom for event
1.2.0 C# Symtax Hightlight
1.3.0 Distinguish Consumed and Produced events
1.4.0 Provide a JSON endpoint for the Schema
1.5.0 Include XML Comments in the event type descriptor
1.5.0 Improve Configuration with more extension options
2.x.x CLI to generate typed code for consumers, probably a dotnet tool

About

Explore all the events from your Microservice with this middleware for Asp.Net Core

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载