Skip to content

Polaris66/openapi-componentizer

 
 

Repository files navigation

Componentizer

This is a GSoC 2023 project. Initial project is proposed at Postman Open Technologies GSoC 2023

Mentoring organization: Postman

Organizer: Postman Open Technologies

Mentors: Bala Avulapati, Darshan Sen, Arvind Kalra

OpenAPI Specification Lead: Mike Ralphson

Product Requirements

What are the functions and features required?

  • A Command Line Interface (CLI) tool and library taking one or more OpenAPI 3.x specifications in JSON or YAML (YAML is a superset of JSON so you can read JSON with any YAML parser) and producing the either one OpenAPI document with all the common components moved to the components section (in the case of a single input file) or moved to a new common OAS document's components section (in the case of two or more input files).
  • Good to have requirement: CLI's capability to accept the list of components to list under common components. This can be via CLI parameters.
  • Good to have requirement: Capability to preserve comments in the components
  • Good to have requirement: Capability to identify similar components and prompting user to confirm, before producing the output. The similarity detection can consider component description and other fields.

Process Requirements

How people interact with a product and how a product interacts with other (often existing) business processes?

  • Users should be able to find the tool via online search, with an intention to improve and simplify the OpenAPI specification. This tool can sit next to the existing tools in the OpenAPI ecosystems.
  • Good to have: While generating OpenAPI specification from code or collections on Postman, Postman should be able to use this tool to simplify the specification.
  • Tech Stack: We are thinking about Typescript, Go or C++, as the team has people familiar with this but we will consider the comfort of the contributors.
  • Distribution: How we distribute the tool depends on the tech stack we choose. We will revisit this when we decide the tech stack.

Contact

If you have any questions or queries, please use github discussions on this repo, start a topic on our community forums in the GSoC category or send an email to us at [email protected].

Twitter YouTube

About

OpenAPI Componentizer (GSoC 2023)

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%