Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collection Format: Interactive mind map #1

Closed
Gbahdeyboh opened this issue Jan 25, 2023 · 36 comments
Closed

Collection Format: Interactive mind map #1

Gbahdeyboh opened this issue Jan 25, 2023 · 36 comments

Comments

@Gbahdeyboh
Copy link

Gbahdeyboh commented Jan 25, 2023

The collection format is the specification behind Postman collections. It is a portable format that lets you define every aspect of your API requests and workflow in a human and machine-readable way. It has aided most of the widely used features on Postman, which include but are not limited to automated/manual testing, mocking, monitoring and scheduled runs, end-end testing, documentation, etc.

This project will be part of ongoing work to create an increasing amount of learning resources around the format. This project aims at creating an interactive mindmap that is a replica of this one on Whimiscal. The Mind map is intended to get anyone learning about the collection format to do so in an interactive and visual manner. It is meant to help show the different units of a collection, how they are structured together and how each unit can be nested within each other. It is inspired by the OpenAPI mindmap developed by Arnaud Lauret, the API Governance Lead at Postman.

Skills: HTML & CSS, JavaScript, d3 js

Mentors: @Gbahdeyboh, Aanchal Mishra, Yashish Dua

Project Repo: https://github.com/postman-open-technologies/collection-format-mindmap

Size of Project: 175h

@jansche
Copy link
Contributor

jansche commented Jan 26, 2023

Here are a few thoughts:

  • Try making it less Postman-centric. Product reference is good in general, but it has to be clear that the beneficiary is the community, not Postman.
  • Refer to the repository of Collection Format.
  • Point out the open source nature of the project, it's license and how this extension will become part of it in the official project.
  • Sketch out the work that has to go into. Think of it like the necessary steps on the road to building it. The person who will engage on this is junior, a student, or a person still learning. They will need the guidance of a step-by-step plan anyway.
  • I like that it's not an overwhelming scope.
  • Consult with Arnaud how much time went into the OpenAPI mindmap. And then at least triple these hours for the creation of a leaner version.
  • It should fit into 175h of a junior engineering resource.

@jansche
Copy link
Contributor

jansche commented Jan 26, 2023

And for inspiration how to write things down, take a look into last year's issues.
https://github.com/postman-open-technologies/gsoc-2022/issues

@Frs2304
Copy link

Frs2304 commented Feb 7, 2023

Hello! I am very excited to work on this project for GSoC 2023.
Can anyone please confirm me...how can I and where to submit the proposal for this project.

@jansche
Copy link
Contributor

jansche commented Feb 7, 2023

Hello! I am very excited to work on this project for GSoC 2023.
Can anyone please confirm me...how can I and where to submit the proposal for this project.

Hi @Frs2304 ,
We have only applied to participating as an org with GSoC 2023. We will know by Feb 22applied applied be part of this year's program. Please check back by that date to find out how to apply as a student.

Thanks!

@hdck007
Copy link

hdck007 commented Feb 22, 2023

@jansche I would like to work on this for GSOC 2023 been using postman for a while now and I see that this would make visualising the collections and the apis within, also I recently came across https://jsoncrack.com/ and this feels something similar of sorts, lastly is their any task or something that we need to do to be eligible would like to know the further steps.

@BabyElias
Copy link

BabyElias commented Feb 22, 2023

Hey! I have been using Postman for some time now, and I have always coupled its use with JSON Visualization tools such as the JSON Viewer Pro chrome extension. It is amazing that we are planning to integrate such features in Postman itself and I would love to contribute in the same. Anyway I can go about discussing about this project with the mentors and seek their views and opinions?

@ishaan812
Copy link

Hey, I love using Postman in general as a backend developer and would love to contribute to it. I think one library we could use is React Flow. I have quite a bit of experience building beautiful graphs with this and would love to help for this project.

@jansche
Copy link
Contributor

jansche commented Feb 24, 2023

Hi folks,
we're currently coordinating mentors and will provide more details as well as answer questions beginning of next week (week of February 27). Please bear with us.
Best regards
Jan

@jansche
Copy link
Contributor

jansche commented Feb 24, 2023

@Gbahdeyboh Can you already answer some of the questions from the comments?

@Gbahdeyboh
Copy link
Author

Hi Everyone. I am Gbadebo, you can call me Debo. I am one of the mentors for this project.

I am happy to see you all express interest and enthusiasm in working on this project with me. I am currently working on some learning resource that I'll share soon. It'll help you get started with understanding the collection format, it's structure and how it relates to collections in Postman.

In the mean time, you can read this article that explains what collections are and why they are extremely useful.

To be successful in this project, a very basic understanding of JSON Schema is required. It's okay if you do not already know what JSON Schema is or how it works. I am still learning as well, so we will learn and grow together 🙂.

I want you all to understand that GSoC isn't a competition. It is a learning opportunity, so be supportive to others who are interested in working on this project as well.

We will share more detailed information soon. Please bear with us and do not hesitate to ask any questions you might have.

@imabp
Copy link

imabp commented Feb 26, 2023

@Gbahdeyboh

  1. I have previously worked on collections and asyncapi, we can make a low code ui interface, kind of drag and drop items.

  2. Every item can be represented as a node, and we can set every such property inside the node using low code ui.
    Henceforth, giving user a complete picture of the collection json.

  3. We can even have collection templates. This is like a marketplace for collections, where user can save their collection as template, import and reuse it.

We can discuss more on this, if you get the direction in which I am thinking !

@imabp
Copy link

imabp commented Feb 26, 2023

@Gbahdeyboh

  1. Only one problem, that I see with my above message, is how do we scale where collection has huge number of nodes.

  2. We should definitely use d3.js, canvas stuff to avoid performance issue. But as always, we may need to pull in cloud workers, if we want to do any heavy computation.

@imabp
Copy link

imabp commented Feb 26, 2023

@Gbahdeyboh

  1. Plus, there are things that we should be very careful about
    • Writing parsers to import collections and export collections from the drag and drop interface.
    • This will help users to create things + also if they want to view the json, they can do it.

I will look forward for other mentors views, on how they find this approach?
This will not only help users to know more about collections, but can also be used as a tool to train non-tech people on building collections which can be consumed by postman..

So I see a great potential for this idea. LMK, we can chat

@yashm277
Copy link

Hey!
I’m Yash Mundada a second year CS student at BITS Pilani and was interested in contributing to Postman for GSOC '23.
This is not the first time that I have been involved with Postman. I help run the Postman funded lab at BITS Pilani, have also completed the Postman student qualification and had discussions with Abhijit Kane (a cofounder of Postman who is from BITS) about entrepreneurship when he had visited our campus. I have found these experiences to be invaluable and was hoping to have another positive experience by contributing to GSOC.

@Adamlixi
Copy link

Hi, This is Adam a master's student from the University of Hong Kong. I have used Postman as a development tool for 2 years.

I think transferring API collections to an interactive mindmap can be very interesting. Because discussion on API design is just between the frontend engineer and backend engineer. I think the mindmap can help more people(such as Product Manager, Project Manager) to have a better understanding of the project.

So, I think I will focus more on how to explain the API using the mindmap in a more understandable way.

By the way, I worked in an E-Commercial company for 2 years and understand there are some communication gaps between developers and other team numbers. Hoping this mindmap would help.

@joshuanoronha
Copy link

Hi everyone, this is Joshua a Master's student. I have worked on HTML, CSS, JavaScript and d3.js extensively and I really like the idea of a visual mind map to view collections, because it aids in understanding the request and response formats properly, this could save a lot of dev effort in understanding the formats (and types).

Additionally, I think that the collapsible part of the tree is really cool because it gives a high level view of the abstracted object. I have a work experience of 3 years where I worked on building e-commerce websites in Vue and Node.js and I would love to work on this project!

@jansche jansche changed the title Interactive mind map for the collection format Collection Format: Interactive mind map Mar 1, 2023
@Devanshu-17
Copy link

Hey everyone, I am Devanshu Mahapatra, currently a Postman Student Expert and an AIML enthusiast.

I would love to work on this with others and the amazing Postman Team.

I have previously contributed to Open Source in HacktoberFest 2022, and will be glad to work on this issue for GSOC-2023.

And as per @jansche and @Gbahdeyboh I have referred these sites:

In the mean time, you can read [this article](https://blog.postman.com/postman-essentials-exploring-the-collection-format/#:~:text=What%20is%20the%20collection%20format,portable%2C%20shareable%2C%20and%20executable.) that explains what collections are and why they are extremely useful.

To be successful in this project, a very basic understanding of [JSON Schema](https://json-schema.org/understanding-json-schema/) is required. It's okay if you do not already know what JSON Schema is or how it works. I am still learning as well, so we will learn and grow together 🙂.

And am confident on working upon these issues. I also agree with @imabp that we can use d3.js to create the mindmap visualization.

@shubhsinha
Copy link

Hello, I am excited to express my interest in this project. As someone who has used Postman for several months, I understand the importance of the collection format and the role it plays in the Postman ecosystem. I appreciate the idea of creating an interactive mindmap as a learning resource for the collection format. I believe this project will not only benefit new users but also serve as a reference for experienced users. I am eager to contribute my skills to this project and help develop a resource that will be useful to many.

@Gbahdeyboh
Copy link
Author

Hi everyone! Thanks a lot for your interest in this project. We'll like to have an office hours session this Friday by 16:00 WAT, 7:00 PST, 20:30 IST, 16:00 CET, and 12:00 BRT.

You can join using this link https://postman.zoom.us/j/85601620524?pwd=WVRrcU9Wa0xBemZaekFVd2dUV1Vkdz09

In the meantime, we just released a new documentation for the collection format. If learning about the format interests you, you can learn more about it using this link - https://learning.postman.com/collection-format

@Gbahdeyboh
Copy link
Author

Hi everyone. A new repository has been created for this project. I have also created a few good-first issues on that repository. Please feel free to chime in on any of the issues in that repo.

@snehalchaudhari98
Copy link

Hi everyone, I am Snehal Chaudhari. As a SDE and Computer Science graduate student, I have used Postman for over 4 years now. I have previously worked on collaboration and collection services, which is why I am drawn to this idea. Additionally, my experience in working with D3.js (both in academia and research) will be valuable in proposing plausible solutions. I believe that this proposal is a great way to organize and visualize the different components and properties of the schema, making it a useful reference tool for anyone working with Postman. I have a few ideas that I would like to contribute to this project.
• Firstly, for more complex components, categorization of various nodes or annotations would be helpful, along with other properties.
• Secondly, to get the most out of interactivity, a testing features with workflow animations within the mind map to help users test their knowledge of the collection format.
• Thirdly, embedding code snippets along with nodes for detailed customization could be useful. Lastly, a tree diagrams along with forced layouts would be an interesting feature to show inter-connectivity.
I am really interested on joining any discussion forums(if there any other available) and be a part of upcoming sessions for the same.

@Huzaifa785
Copy link

Hey @Gbahdeyboh 👋🏻

This is Huzaifa from India 🇮🇳, a full stack developer, currently working with the MERN stack on a journey of building products to ease the lives of people around the globe 🌎. I've been working with the MERN stack for almost 2 years now and yeah I have been using postman for testing the APIs on a daily basis. And I remember that once, one of my team members shared a collection of APIs and I was able to execute it easily on my system, so yeah collections have actually made the lives of developers a lot easy. But many of us including me actually face a problem while understanding the micro parameters of the collection in Postman such as request headers, query parameters, request body, response status, etc." These micro parameters are essential to understand in order to effectively use Postman for API testing and development.

And what I understood from the requirements of this project is that we have to create a learning resource for developers to understand the "collections" in "postman" in an interactive manner 👨🏻‍💻. There's actually a lot of stuff going on in my mind but let me share with you some of the ideas that can help us and the entire community to understand the "collections" very easily in an interactive way.

These are just some of the ideas I'm thinking to add for understanding collections in an interactive manner, but there are a lot of others:-

  1. Very first, we'll create a dashboard wherein we will visualize and animate the entire "collection format" in a beautiful way.
  2. Another feature is that we can just include a set of mock APIs and let the developers play with it, which will help them to understand it in a better way, as it is said that, you can't learn anything properly if you haven't worked on it, this will actually make the concepts super clear, and yes once the user selects a mock API, our dashboard will generate the mind map or something more interesting than mindmap that will help the user understand it properly.
  3. Now to make it more clear, we can keep some questions on that particular mock API's collection.
  4. I'm also thinking to keep a game inside our dashboard where we can explain this concept in a gamified way.
  5. We can also integrate basic AI, and we can generate a voice explaining the collection while highlighting each unit of the collection as it is being explained, we can consider just this point itself as a complete project, I guess this will actually make it damn easy for the users to understand collections in an actual interactive way.

Yeah, so that's it from my end for now, and I'm super excited to work with you @Gbahdeyboh on this project. Will comment on the good-first-issues soon 🚀

@Gbahdeyboh
Copy link
Author

Hi @Huzaifa785.

Thank you for putting this together and for sharing interesting ideas on how we can create more resources around collections. There seems to be some misconception. This project's scope is limited to creating a mindmap for the collection format that can be traversed in an interactive way. While other learning resources can be built, they fall outside this project's scope and should not be the primary focus when crafting a final application. You can go through the readme of this projects repo here.

@Gbahdeyboh
Copy link
Author

Hey folks!

If you're new here, welcome!

According to the GSoC timeline, applications to GSoD have commenced and will continue till the 4th of April. Here are things to note and helpful resources;

  • Go through the readme of this project's repository.
  • The issues on this projects repo is a good starting point. They are good first issues and are intended to nudge you to get familiar with the collection format and JSON Schema.
  • This livestream , where Kevin and I deep-dived into the collection format, its different use cases, and how it relates to Postman Collections is a really good resource. It is a two hour stream and would be worth it if you have some time to spare.
  • Before you start crafting an application, please go through GSoC Writing a proposal guide.
  • Please take your time to craft your applications properly. Submitting your application at any convenient time before the deadline is okay.
  • This project's scope is limited to creating an interactive mindmap for the collection format. While we may or may not expand this scope, limit your application to just that.
  • If anything is unclear, feel free to ask for clarification. I'll be happy to answer all your questions.

We will have an office hour session this Monday(27th March 2023). Endeavor to join this office hour session. We will review the entire project, what we're looking for in an ideal candidate and how to craft a great GSoC proposal.

Zoom Link => https://www.google.com/url?q=https://postman.zoom.us/j/83887814617?pwd%3DamM3OVRGTWdCOExKWlZ0a1Uvckl4dz09&sa=D&source=calendar&ust=1680011969558703&usg=AOvVaw1fkYN4MaVmCLEDBuF3N-gE

15:00 WAT, 6:00 PST, 19:30 IST, 15:00 CET, and 11:00 BRT.

You can add this event to your calendar by clicking this link.

@Huzaifa785
Copy link

Hi @Huzaifa785.

Thank you for putting this together and for sharing interesting ideas on how we can create more resources around collections. There seems to be some misconception. This project's scope is limited to creating a mindmap for the collection format that can be traversed in an interactive way. While other learning resources can be built, they fall outside this project's scope and should not be the primary focus when crafting a final application. You can go through the readme of this projects repo here.

Okay got it, will submit the proposal accordingly.

@Huzaifa785
Copy link

Hi @Huzaifa785.
Thank you for putting this together and for sharing interesting ideas on how we can create more resources around collections. There seems to be some misconception. This project's scope is limited to creating a mindmap for the collection format that can be traversed in an interactive way. While other learning resources can be built, they fall outside this project's scope and should not be the primary focus when crafting a final application. You can go through the readme of this projects repo here.

Okay got it, will submit the proposal accordingly.

Hey @Gbahdeyboh 👋🏻

I am ready with my proposal. I request you to please go through it and provide your valuable feedback for any updates. Here's the link to my proposal: https://docs.google.com/document/d/1vIJu5D0BStDoAbidgormmkISCAKWD87_yfaGTBzLoms/edit?usp=sharing

Looking forward to work with you.

@Gbahdeyboh
Copy link
Author

Hey folks! Looking forward to seeing you all in 30 minutes.

@Gbahdeyboh
Copy link
Author

Starting the sync now! See you all on the call.

@jaydip1235
Copy link

jaydip1235 commented Mar 27, 2023

@Gbahdeyboh
Copy link
Author

Hey folks, the Postman OSPO will be live for a Google Summer of Code Q&A session in 2 minutes. #gsoc
Link to zoom session: go.pstmn.io/gsoc-qa

@siva-kumar-s
Copy link

siva-kumar-s commented Mar 30, 2023

I missed the Meeting, so could anyone can share about the meeting what happens and what are the question are asked can anyone share here.

@jaydip1235
Copy link

Hi @siva-kumar-s , I attended the meeting. It was about the GSoC project explanation of postman, how to make proposals, on what things contributors should focus on, and lastly the valuable comments from the mentors of various projects.

@Gbahdeyboh
Copy link
Author

Hi @siva-kumar-s.

The meeting was recorded and the recording will be shared once it is ready.

@jaydip1235
Copy link

Hi @Gbahdeyboh , I have send you a mail. Can you please check it

@UtkarshDixit-py
Copy link

Hey @Gbahdeyboh , I am not taking part in GSOC but this project seems interesting and I'd like to contribute. Will you guys be allowing outside contributions as well ?

@benjagm
Copy link
Collaborator

benjagm commented Feb 20, 2024

Closed as completed as part of 2023 edition.

@benjagm benjagm closed this as completed Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests