OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.3k stars 6.44k forks source link

[REQ] Javascript frontend generator (react) basic CRUD scaffold #8172

Open JoseRodrigues443 opened 3 years ago

JoseRodrigues443 commented 3 years ago

Is your feature request related to a problem? Please describe.

When Im prototyping a open api spec i can in a easy way generate a backend that i can alter and use in my project.

But about the frontend that normally is the more work intensive, its quite easy from a swagger spec create the client sdk, then why not the frontend with the entities, the crud forms and listing forms?

Done right this feature could be a powerful addition to this project, allowing startups, small projects or prototypes from a API spec generate a easy admin portal, were authentication, create, delete, edit could be managed.

Describe the solution you'd like

A new react option in the client generation that allows from a open api spec, generate a react project, with a client SDK (typescript) and the pages that uses this client sdk to make the CRUD operations for the given entities.

Describe alternatives you've considered

  1. using existing sdk to generate the sdk, and then create the UI from scratch (using react, vue or angular)
  2. Using other projects that are not so well tested, or that are very coupled to the backend (jhipster)

Additional context

A UI similar to this one:

image

Pet Store Example

Considering the example on Pet store openAPI 3.0, the UI should have:

image

image

And the same for store

sivathangeswaran commented 2 years ago

@JoseRodrigues443 did you figure-out any tool which can help building a UI as you mentioned above meantime?

JoseRodrigues443 commented 2 years ago

O have a non working prototype, can release it in a fork maybe

yzumis commented 1 year ago

Did you find any solution @JoseRodrigues443 and @sivathangeswaran ?