Code Monkey home page Code Monkey logo

openapi-componentizer's Introduction

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.

Note about AI usage

The use of Artificial Intelligence is discouraged either in your contributions or proposal preparation, as it doesn’t help us learn at the early stage in the open source community. The contributors or applicants of GSoC can include a paragraph in their proposal, that it has been written without the help of AI.

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

openapi-componentizer's People

Contributors

bavulapati avatar jansche avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openapi-componentizer's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.