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.
- Source code
- Student participant: Arjun Garg
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.
- Source code
- Student participant: Khuda Dad Nomani
AsyncDiff
A library that generates a diff between two AsyncAPI documents and also classifies them as breaking or non-breaking.
- Source code
- Student participant: Aayush Sahu
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.
- Source code
- Student participant: Sarthank Saxena
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.
- Source code
- Student participant: Rishi Purwar
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.
- Source code
- Student participant: Manan Sharma
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.
- Source code
- Student participant: Raghav Bhatia
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.