line / armeria

Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
https://armeria.dev
Apache License 2.0
4.78k stars 907 forks source link

Use layout engine for `DocService` #5091

Open trustin opened 1 year ago

trustin commented 1 year ago

As we experienced in #4599 and #5059, our users want more ways to browse and invoke service in DocService. It'd be nice if we start to use a layout engine for organizing the DocService content. There are a few well-known layout engines that we could use for React:

It looks like react-grid-layout is the most popular choice, but rc-dock's tab support looks very appealing.

Dogacel commented 1 month ago

I am not entirely sure if it is related but currently our doc service is barely browsable because of the long class names used in controllers.

image

Do you think we should fix this with a layout engine or should we track this issue separately and have a quick fix?

jrhee17 commented 1 month ago

Hi, thanks for asking.

Do you think we should fix this with a layout engine or should we track this issue separately and have a quick fix?

I'm guessing the quick fix will probably be as simple as modifying css properties. On the other hand, migrating to using a layout engine may need some extra work.

I think either direction is fine. Given that the next release will be done within next week or the week after that, I think we can squeeze in the simple fix since you mentioned that DocService is unusable at the moment. If you're willing to tackle this issue, that would also be welcome 😄

Dogacel commented 1 month ago

As we experienced in #4599 and #5059, our users want more ways to browse and invoke service in DocService. It'd be nice if we start to use a layout engine for organizing the DocService content. There are a few well-known layout engines that we could use for React:

It looks like react-grid-layout is the most popular choice, but rc-dock's tab support looks very appealing.

Also I have spend some time with this doing initial investigation. Here are my findings:

So I think we should go for Golden Layout or Rc-Dock. IMO golden layout looks more professional: https://golden-layout.com/examples