Our Postman Student Projects from Google Summer of Code 2021

Earlier this March, we announced that Postman was again invited to participate as a Google Summer of Code (GSoC) mentor organization for the 2021 session, and we put out a call for students to join us. We were amazed by the enormous response we received from students across the globe. Ultimately, we worked on nine projects this summer.

To celebrate the end of this year’s stellar GSoC, during which nine students and 17 Postman team members put in tremendous effort exploring and collaborating, we want to share the work accomplished over the past few months. Our focus this year was around AsyncAPI, OpenAPI, and Newman: take a look at the individual projects, their related source code, and the students who worked on each.

AsyncAPI Initiative projects

The AsyncAPI Initiative is an open source project and a part of the Linux foundation. It maintains the AsyncAPI Specification that is used for describing asynchronous APIs, and also builds tooling to support event-driven architectures. Postman employees contribute to the project regularly. This year, we had five projects under the AsyncAPI category that were aimed at the development of tooling at GSoC:

AsyncAPI Applications Relations Finder (aka Cupid)

A library that analyzes AsyncAPI documents and outputs a relationship diagram that helps identify the relationships between the different elements. These diagrams can be exported as PlantUML and mermaid-js flow diagrams.

AsyncAPI Application Simulation

A simulation library that triggers events in your application based on the AsyncAPI definition. It will spin up an application that can be useful for stress testing, inspecting errors in a development/staging environment.

  • Source code
  • Student participant: Nektarios Gkikakis Fifes

AsyncAPI Document Optimizer

This library generates an optimized AsyncAPI definition by reusing components of a document, removing unused components and duplication.

AsyncDiff

A library that generates a diff between two AsyncAPI documents and also classifies them as breaking or non-breaking.

Chatbot for AsyncAPI Creators

The AsyncAPI spec can be intimidating for new users. The chatbot project aids the creation of these documents in a conversational style to simplify onboarding.

  • Source code
  • Student participant: Elegbede Azeez Wahab

OpenAPI Initiative projects

The OpenAPI Initiative, also part of the Linux Foundation, is focused on creating and evolving OpenAPI—a community-driven specification that describes RESTful APIs in a machine-readable manner. Postman is a part of the OpenAPI initiative and invests in building open source tooling around it. We contributed to the following two projects under the OpenAPI category this year:

API Conversion API

A public API that converts the different API specification formats. This API can be used by automated scripts for conversion.

Contributing to Postman Public Workspaces

This project aims to build utilities for OpenAPI by contributing to a Postman Collection in a Postman public workspace. Postman’s version control makes it possible for users to fork and raise pull requests.

Newman projects

Newman is Postman’s open source CLI tool that lets you run and test a Postman Collection. Newman can be integrated with continuous integration and build systems enabling automation. These are the two projects we worked on during GSoC that fall under the Newman category:

Newman Dashboard

A central web dashboard that lets you view and manage previously executed Newman runs and configure new runs. This helps in debugging and also provides insights into memory usage, CPU usage, and more.

Newman Request

The Newman Request is a command that lets you run a single request and view the response with custom reporters and additional details, such as total data received, DNS lookup time, and more.

We want to extend a huge thank you to the incredible student participants who contributed to this year’s projects. Stay tuned for GSoC 2022.

What do you think about this topic? Tell us in a comment below.

Comment

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.