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

GitHub OpenAPI Search #8

Closed
jansche opened this issue Feb 3, 2023 · 26 comments
Closed

GitHub OpenAPI Search #8

jansche opened this issue Feb 3, 2023 · 26 comments

Comments

@jansche
Copy link
Contributor

jansche commented Feb 3, 2023

Summary: Provide a robust yet easy way to search Github for Swagger and OpenAPI definitions. Understanding that there is a lot of noise available, that we only care about OpenAPIs that validate, and that the Github API has rate limits that require you to automate the crawling over time. Providing a robust open-source solution that will crawl public Github repositories for machine-readable API definitions.

Skills: Knowledge of the Github API, and the OpenAPI specification.

Expected Outcomes: An open-source API that allows you to pass in search parameters and then utilize the GitHub API to perform the search, helping simplify the search interface, make rate limits visible as part of the response, and handle conducting a search in an asynchronous way, allowing the user to make a call to initiate, but then separate calls to receive results over time as results come in, helping show outcomes over time.

Mentors: @anshuljain03 + 1-2 additional mentors

Project Repo: https://github.com/postman-open-technologies/openapi-github-search

Size of Project: 175h

Rating: Easy

@jansche
Copy link
Contributor Author

jansche commented Feb 3, 2023

This may be merged with #7, to create a project that suffices the requirement of being a 175h project. Or merge with #6 and #7 to become a 350h project. @kinlane

@jansche jansche added ideas question Further information is requested needs refinement Still needs more details to qualify as an application-ready project idea labels Feb 3, 2023
@jansche jansche assigned kinlane and unassigned kinlane Feb 3, 2023
@jansche jansche added final and removed question Further information is requested needs refinement Still needs more details to qualify as an application-ready project idea labels Feb 6, 2023
This was referenced Feb 6, 2023
@sambhavgupta0705
Copy link

sambhavgupta0705 commented Feb 22, 2023

Hi @jansche , I am Sambhav Gupta, a full stack MERN web developer . Apart from it I have basic understanding of OpenAPI and have worked with GitHub API in past and also work with postman in my day to day for project building.

I like the Idea of developing a robust way of asynchronously searching for swaggers and machine readable API definitions by crawling over public GitHub repositories through GitHub API and provide the desired result to the user.
The idea of managing GitHub API for searching Open API and swaggers while managing the rate limits seems an interesting and seems to be an exciting part of this project.
Working with both GitHub API and Open API definitions at the same time seems a challenging and exciting part of this project.

As a mentor ,you can best of me by providing your guidance and giving regular feedback on my work by which I will be able to improve in areas where I lack. By communicating regularly we will be able to work in more efficient way and would also able to keep me motivated for the project.
I would value precise instructions and frequent feedback from my mentors as a mentee. As I work on the project, I would also value their accessibility for queries and assistance.

In my day to day life I use Notion and Google keep notes to keep my life organised. I write all the tasks at the start of the day and rate them priority wise and then work on them by assigning a specific time block to them. I am available on slack , Microsoft teams and google chats for communication.In order to keep a track of my changes I use Git version control system.

At the end ,the project will help me improving my skills and API knowledge which will help me in future also.

@money8203
Copy link

money8203 commented Feb 22, 2023

Hey @jansche , I am currently a Postman Student leader and a junior web developer. I have had some experience with API's and Postman. Would love to work on the Open API initiative along with the amazing team at Postman!

I am interested about this project because of the opportunity to contribute to the development of a robust and open-source tool that can make it easier for developers to find and access Swagger and OpenAPI definitions on Github. I believe this project has the potential to save a lot of time and effort for developers who are looking for API definitions and help them focus more on building their own applications.

As mentors and project coordinators, you can get the best out of me by providing clear guidance and feedback on my work, and being available for any questions or concerns that I may have. Regular check-ins and communication would also be helpful in keeping me on track and motivated.

While working on this project, I hope to improve my understanding of the Github API and the OpenAPI specification. I also hope to develop my skills in developing open-source software and working collaboratively with other developers.

@ishaan812
Copy link

Hey @jansche , I already have some experience working with OpenAPI and and Github API. I think this is a great feature and in my personal use of Postman one of the pain points I currently experience is creating collections manually after cloning a public repo. What would be really helpful would to be to automaticaly curate a library of API's ready for testing for these repos.

This could also help to promote use of the documentation feature which is a feature I have been a fan of but seems a tad bit underused. I think this could help improve the whole Postman Ecosystem all-in-all just by implementing this relatively easy feature and further ease the migration from SwaggerUI to Postman which is a much better platform in my experience.

I also think merging this with #7 is a good idea since they might be similar tasks and have a lot of overlap. #6 #7 and #8 together they will help improve the Postman experience for pre-existing users using swagger and openapi.
I have a lot of experience of working in remote-first environments and would love to able to contribute to a product I use almost daily. I understand the importance of overcommunication and being able to correctly document and follow a process to achieve efficiency at a team level. I would love to know more about the task.

@jansche
Copy link
Contributor Author

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

@money8203
Copy link

That's great, thanks for informing @jansche

@bshreyasharma007
Copy link

bshreyasharma007 commented Mar 5, 2023

Hi Mentors [ @jansche @ialimustufa and 1-2 mentors ]

I am Shreya a technology enthusiast and first time participating in GSOC with the wish to be contributing towards 'GitHub OpenAPI Search'

As per Contribution Guide I would like to introduce myself as a candidate to work on this project which is selected for GSOC 2023

Q1) What interests you most about this project ?

I researched about Swagger, OpenAPI definitions and thought about the overall idea towards achieving the goal of easing out ways to search GitHub for Swagger and OpenAPI definitions

The time duration of the project can get increased to 350hr with possibility of merging the project with #6 and #7 is also one of the reason I wish to contribute towards the project as this means working with multiple features which is fascinating as a tech enthusiast and putting out my first step towards Open source.

At present I have knowledge of yaml, REST API, API, Machine Learning, Python, Java, JavaScript, Asynchronous programming, Search Engine, etc which can help towards contributing towards this project

Github API and OpenAPI Specification use YAML for defining human-readable format for defining data structures
OpenAPI Specification uses YAML for its Swagger document, which describes the structure of the API, its endpoints, and the expected input and output. Similarly, the Github API uses YAML for defining workflows, actions, and other configuration files used in the development process.

I believe in continuous improvement hence open to feedback [ be it technical or social or in other areas ], willing to learn new technologies, tools and approaches to improve my skills and contribute towards the project.

At present I am planning to implement mini project with Github API and OpenAPI specifications so I can contribute towards the project with deeper understanding.

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?

I am a working professional in the field of EDI(Electronic Data Interchange) as an Analyst, with a Computer Science background.

While working on this project, I plan on researching on various authentication and authorization methods to ensure that my contributions are meaningful and up-to-date. I will also be working on improving my coding skills to ensure that my code is efficient, maintainable, and meets the project standards.

Q4) We'd love to hear a bit on your work preferences, e.g. how you keep yourself organized, what tools you use, etc?

I like planned things; in situations where a project is not planned out with no proper communication, I tend to get a bit anxious as in my mind the priority is to complete the task.

I can give daily 4-5hr or more (depending upon office work) towards this project.

I am open to work in US, UK, or India timezone depending upon the project requirement.

To keep myself organized I make use of notepads, reminders, Git, Github, Google Calander and personal notes.

I believe in continuous improvement hence open to feedback [ be it technical or social or in other areas ], willing to learn new technologies, tools and approaches to improve my skills and contribute towards the project.

Q5) Once you’ve selected a project from the ideas section, please suggest a weekly schedule with clear milestones and deliverables around it. Alternatively, if you want to propose your own idea then please include an outline, goals, and a well-defined weekly schedule with clear milestones and deliverables.

Below is a rough schedule that I can think of at present, but with continuous communication with mentor and how project is progressing necessary adjustments to schedules can be made

Week 1:

Research and analysis of the Github API and OpenAPI specification.
Understand how to utilize the Github API to crawl public repositories for machine-readable API definitions.
Milestone: Submit a plan for review by the mentors.
Week 2-3:

Develop the initial search interface and integrate with the Github API.
Implement rate limits and handle conducting a search in an asynchronous way.
Milestone: Submit the initial search interface for review by the mentors.

Week 4-5:

Develop the logic to filter out non-OpenAPI definitions and validate the OpenAPI definitions.
Write tests for the search functionality and validation.
Milestone: Submit the code for review by the mentors.

Week 6-7:

Integration testing of the search functionality with Github API.
Identify and fix any bugs or issues.
Milestone: Submit the final version of the code for review by the mentors.

Week 8:

Update documentation and finalize the project.
Milestone: Submit the final code and documentation for approval by the mentors.

==============================================================
I have a query in contribution guide there is mentioning about 'MANDATORY QUALIFICATION TASK: Please engage on your selected project (link to each GitHub repo is in the issue description) by picking up an existing issue tagged "first issue". If no first issues are available, get in contact with the main mentor as listed in the repo's README.md and get individual advice.'

I request you to provide me with Mandatory qualification task so I can start contributing towards the project.

Looking forward to hearing from your side

@iceonGit
Copy link

iceonGit commented Mar 7, 2023

Hey @jansche , I'm a student with experience in full-stack web development and I'm interested in the premise of the project which allows users to search for OpenAPI definitions and related github repos , making it easier for developers to search and integrate with existing APIs which can often be a ordeal due to litany of reasons .On a side note I would love to be able to contribute to a tool I use extensively for testing APIs .

As mentors , you can expect me to be available 3-4 hours a day working on the project,
I'll try my best to ensure that my contributions are of high quality and aligned with the goals , constant feedback and regular communication from your side to resolve any doubts I might have regarding the project will help me a lot.

Contributing to this project would provide me an opportunity to develop my skills in the fields of API development , testing and documentation and allow me to be a part of a community of developers who share common interests with me and are passionate about same topics as me.

Looking forward to hearing from your side.

@Rudrak3
Copy link

Rudrak3 commented Mar 7, 2023

Hi Mentors [ @jansche @ialimustufa ]

I am Rudresh pursuing Bachelor in Technology and I am excited to participate in GSOC 2023 for the first time. I am interested in contributing towards the "GitHub OpenAPI Search" project.

My interest in field of Software Engineering grew after creating my own projects using Python, Machine Learning, CSS, HTML, JavaScript, REST API and I believe I will be great asset towards this project.

I will be introducing myself by referring to the format mentioned in Contribution Guide

Q1) What interests you most about this project ?

After reading the problem statement I researched on each keyword and found the project to be more interesting and wanted to contribute towards the project on creating a robust yet easy way to search Github for Swagger and OpenAPI definitions

What excites me the most about this project is the opportunity to contribute to a project that has the potential to positively impact the development community and creating a win-win situation for both parties.

Q2)As mentors and project coordinators, how can we get the best out of you?

As for getting the best out of me, I work well when given clear instructions and expectations. I would appreciate regular check-ins and feedback to ensure that I am on track and meeting project goals.

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?

While working on the Github for Swagger and OpenAPI project, I plan to improve my understanding of the Github API and the OpenAPI specification. Additionally, I aim to enhance my skills in building robust and scalable search interfaces and developing asynchronous search functionalities that can handle large datasets. I will also learn to handle and interpret rate limits, which will be crucial in developing an effective solution for crawling public Github repositories for machine-readable API definitions. Overall, I see this project as a great opportunity to deepen my knowledge of API development and contribute to the open-source community.

Q4) We'd love to hear a bit on your work preferences, e.g. how you keep yourself organized, what tools you use, etc?

In terms of work preferences, I keep myself organized by breaking tasks down into smaller, manageable pieces and using project management tools like Trello or Asana to keep track of my progress. I also make sure to communicate regularly with my team members to ensure that we are all on the same page.

Q5)Once you’ve selected a project from the ideas section, please suggest a weekly schedule with clear milestones and deliverables around it. Alternatively, if you want to propose your own idea then please include outline, goals, and a well-defined weekly schedule with clear milestones and deliverables.

Below is rough weekly schedule but it can be changed based on feedback and discussion

Week 1-2:

Conduct thorough research on the Github API and its rate limits, as well as the OpenAPI specification.
Analyze existing solutions for searching Github for Swagger and OpenAPI definitions and evaluate their strengths and weaknesses.
Milestone: Submit a report to the mentors outlining the findings and the proposed approach for the project.

Week 3-4:

Develop a basic prototype of the search interface and the initial code for making API calls to Github.
Implement asynchronous functionality to allow for search results to be received over time.
Milestone: Submit the prototype to the mentors for review and feedback.

Week 5-6:

Refine the search interface and add more search parameters to increase the flexibility and accuracy of the search results.
Implement error handling for rate limits and other potential issues with the Github API.
Milestone: Submit updated code and interface for review by the mentors.

Week 7-8:

Conduct thorough testing of the application to ensure it is robust and functioning as intended.
Create documentation and guides for users and developers who may want to use or contribute to the project.
Milestone: Submit final code, documentation, and guides to the mentors for final review and approval.

@darrelmiller
Copy link

Just an FYI. The Kiota tool has the ability to search GitHub for repos that have OpenAPI descriptions. However, it works by searching for repos marked with the openapi-index topic and then looking for an apis.json file. Details here: https://microsoft.github.io/kiota/add-api.html

@Soulter
Copy link

Soulter commented Mar 11, 2023

Hello Mentors😊! @jansche @ialimustufa

I am a college student pursuing Bachelor in Computer Technology, I am interested in this project idea.

I enjoy the pleasure of developing a new project.

I have a deep understanding of Python, JavaScript, HTML, CSS, REST API and Java, and I have used these technology stacks to do some interesting open source projects. I have some open sourse experience.

(Specially: I used Postman in an Asset Management System that I participated in and developed for my college. It is very easy to use and have powerful features.)


Next, I will introduce myself by the QAs mentioned in Contribution Guide

Q1) What interests you most about this project ?

I use GitHub and Postman frequetly, and I have known Github API before. I want to be a contributor of Postman Project, I hope I can have some positive impact on the postman project and the entire open source community.

Q2) As mentors and project coordinators, how can we get the best out of you?

Mentors can give me some directions, and then we can discuss the feasibility together. Then I will continue to develop and improve these suggestions within the specified time, and finally form a good product

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?

I will take this opportunity to learn more about Github API and the art of communication, and enhance my skills in developing a strong project.

Q4) We'd love to hear a bit on your work preferences, e.g. how you keep yourself organized, what tools you use, etc?

Maintaining continuous communication is the most important.

I make sure to communicate regularly with my team members to ensure that there is no deviation in the product route. I'd like to use Microsoft Todo to keep myself organized.

Q5)Once you’ve selected a project from the ideas section, please suggest a weekly schedule with clear milestones and deliverables around it. Alternatively, if you want to propose your own idea then please include outline, goals, and a well-defined weekly schedule with clear milestones and deliverables.

Week 1:

Comprehensively understand the operation mode of GSoC, and deeply study the GitHub API, including some speed restrictions.
Milestone: submit a report of GitHub API and the next specific plan for the mentors' review

Week 2-3:

Develop basic code and conduct preliminary test (such as speed limit display and search function)
Milestone: submit code and test report for mentors' evaluation

Week 4-5:

Modify according to the tutor's suggestion, optimize the search interface, and add more functions (such as search filtering)
Milestone: submit enhanced code and test report for mentors' evaluation.

Week 6-8:

Continue to improve the code and conduct all-round testing. And add some potentially innovative functions.
Milestone: submit final codes and reports for final review and approval.

@MikeRalphson
Copy link

Hi @sambhavgupta0705 @money8203 @ishaan812 @bshreyasharma007 @iceonGit @Rudrak3 @Soulter !

We have now created the repository for this project here: https://github.com/postman-open-technologies/openapi-github-search

Check back on Monday 20th for issues labelled "Good first issue" which form the qualifying tasks for this project.

@Aritra8438
Copy link

Hi mentors, Aritra here! @jansche @ialimustufa python3

A bit about myself:
I am in my final year pursuing a B.E. degree. Competitive programming and Full-stack development is my field of interest. You can check more from my GitHub and LinkedIn profiles.


Why I have chosen Postman?
Postman made every developer's life easier by providing them with such a user-friendly API platform free of cost to build and test APIs. If I get selected as a contributor, I might be able to return a little favour towards the organization.


Next, I will introduce myself by the QAs mentioned in Contribution Guide

Q1) What interests you most about this project?
As a full-stack developer, I had to create APIs numerous times and Postman is my preferred choice for testing the same. Moreover, I had to create the API documentation, so I am familiar with Swagger and OpenAPI definitions in both JSON and YAML formats. Also, I have used GitHub APIs before.
As I have a good understanding of the prerequisites, I am excited to focus on contributing to this project that might help millions of developers worldwide.

Q2) As mentors and project coordinators, how can we get the best out of you?
If selected as a contributor, I am already obligated to give my best to this project. As a collaborative and hard-working team, we have to create solutions, that should not be limited by any constraints. That might need a discussion forum, where we will be exchanging ideas, seeking help as well as helping others to make this project idea a reality.

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?
I am in the final year of my B.E. degree. So, I need to prepare for my final semester also. But, it will in no way hamper my contribution to this project.

Q4) We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc.
I use Google Calendar, Todoist and Planner (it's a nice UI for Ubuntu users) to schedule my meetings, interviews and to-dos. But, my past organizations mostly used Click-up for scheduling tasks and Slack or Discord server for discussing and finalizing decisions. It immensely helps to keep track of tasks, subtasks, goals and deadlines.

Q5) Please suggest a weekly schedule with clear milestones and deliverables around it.

Let's first discuss, What are some of the obstacles?

Github API has rate limits.

Referring to this doc, User access token requests are limited to 5,000 requests per hour and authenticated user. That means 83 requests in 1 minute, which is too slow. What's a way out?

handle conducting a search asynchronously, allowing the user to make a call to initiate, but then separate calls to receive results over time as results come in, helping show outcomes over time.

So, we need two separate URLs, one for the user to initiate a search and the other for getting the responses over time, which might be scheduled or called by the user.
And, we might be using JavaScript and Node.js and therefore need Octokit to handle GitHub API calls. Considering these, my weekly plan will be as follows:

Week 1:
Will study Octokit, explore different end-points of the GitHub API, evaluate their performance and make myself familiar with Swagger and OpenAPI specifications. There might be some existing solutions, will evaluate their strengths and weaknesses.
Milestone: Will submit a proposal to the mentors that will contain different strategies for this project.

Week 2-3:
Will write the code to search specific words inside a user repo by making API calls to Github, keep track of rate limits and therefore, return the response in an efficient manner.
deliverable: Will submit this code to the mentors and modify it according to their feedback.

Week 4:
One problem might persist.

there is a lot of noise available

For this, we need to modify the codes (maybe, by adding more parameters to search functionality or by rejecting a part of the response) such that only required responses are returned to the user.
Milestone: Will submit a report that compares current performance with the previous one.

Week 5-6:
Once codes are working, now we have to efficiently design the API to allow a user both to initiate a search and get the responses over time. We might need scheduler libraries for scheduling purposes to let users know that responses are ready to be viewed.
deliverable: Will submit the API so that mentors can test and modify it according to their feedback.

Week 7-8:
Once API is created, we need to thoroughly test it and assess its performance. To ensure its robustness, every call must take less time and should return only the OpenAPI definitions.
Milestone: Will submit the test report, performance and API documentation to the mentors for approval.

Thank you for considering me.

@Mahmoudgalalz
Copy link

Mahmoudgalalz commented Mar 20, 2023

Hi Mentors [ @jansche @ialimustufa and 1-2 mentors ]

This is Mahmoud G a Software engineer, usually digging in open-source, and have a good experience in Backend development participating in GSOC with the wish to be contributing towards 'GitHub OpenAPI Search' I have used Github API for auth, and getting repos and a lot within a project that hasn't released yet

As per Contribution Guide I would like to introduce myself as a candidate to work on this project which is selected for GSOC 2023

Q1) What interests you most about this project ?

I already know Swagger and used it before I have explored OpenAPI definitions, It would be very helpful solution for all the open-source to have those doc for every API on the world, and I have faced that a lot before, and It will add a lot to me and my skills doing thing it has a goal like that.

At present I have knowledge of Javascript, TypeScript, NestJs, NodeJS, React, Puppeteer, yaml, REST API, API, etc which can help towards contributing towards this project

Github API and OpenAPI Specification use YAML for defining human-readable format for defining data structures
OpenAPI Specification uses YAML for its Swagger document, which describes the structure of the API, its endpoints, and the expected input and output. Similarly, the Github API uses YAML for defining workflows, actions, and other configuration files used in the development process.

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?

I'm learning more about React, and tRPC, Serverless functions.
Also I'm a 3rd year computer science student.

Q4) We'd love to hear a bit on your work preferences, e.g. how you keep yourself organized, what tools you use, etc?

I'm an old fashion person in organizing stuff, like notepad on my disk and sticky notes, I use notion sometimes, Google Calendar.
I believe that everything is possible, so searching for solutions as my super tool, exploring the documentations to find answers about what I want to do.

I love to visuals my solutions, so I use exclidraw to do some drawing about what I'm trying to build, and the logic flow

I am open to work in US, or Europe timezone depending upon the project requirement.

I believe in continuous improvement hence open to feedback [ be it technical or social or in other areas ], willing to learn new technologies, tools and approaches to improve my skills and contribute towards the project.

Q5) Once you’ve selected a project from the ideas section, please suggest a weekly schedule with clear milestones and deliverables around it. Alternatively, if you want to propose your own idea then please include an outline, goals, and a well-defined weekly schedule with clear milestones and deliverables.

    Below is a rough schedule that I can think of at present, but with continuous communication with mentor and how project is progressing necessary adjustments to schedules can be made

Week 1:

Understanding the outcomes in details about that project and the workflow of it,
Discuss different solutions if exist and the best way to start this project considering the easy to maintain it.
Get more understanding of OpenAPI

Milestone: Submit the plan for review

Week 2-3:

Building the crawler and the search interface with utilizing the Github API, Implement the Rate limiting
getting the noisy data and all data is available.

Milestone: Submit the results for review by the mentors.

Week 4-5:

Develop the logic to filter out non-OpenAPI definitions and validate the OpenAPI definitions.
Write tests for the search functionality and validation.
Milestone: Submit the code for review by the mentors.

Week 6-7:

Integration testing of the search functionality with Github API.
Identify and fix any bugs or issues.
Milestone: Submit the final version of the code for review by the mentors.

Week 8:

Update documentation and finalize the project.
maintain the project if it needs
Milestone: Submit the final code and documentation for approval by the mentors.

==============================================================

I asking you to provide me with Mandatory qualification task so I can start contributing towards the project.

Looking forward to hearing from your side

@bshreyasharma007
Copy link

Hi @ialimustufa

I am unable to find issues under the repository, I am also unsure on the right way to contact mentors.

I request you to please re-check the repository for the qualifying task.

Hi @sambhavgupta0705 @money8203 @ishaan812 @bshreyasharma007 @iceonGit @Rudrak3 @Soulter !

We have now created the repository for this project here: https://github.com/postman-open-technologies/openapi-github-search

Check back on Monday 20th for issues labelled "Good first issue" which form the qualifying tasks for this project.

@ishaan812
Copy link

Yup, have the same issue, please clarify if you can.

@MikeRalphson
Copy link

Apologies for the delay, I will be creating the issues tomorrow. Please check back in 24 hours.

@MikeRalphson
Copy link

Hi all, apologies one again, initial issues are now up! https://github.com/postman-open-technologies/openapi-github-search/issues

@ishaan812
Copy link

Hey Mike, do we have to be assigned to one of the issues or just comment our answers on the issue itself?

@MikeRalphson
Copy link

Hey Mike, do we have to be assigned to one of the issues or just comment our answers on the issue itself?

@ishaan812 the latter. Please go ahead and add your comments. Thank you.

@bshreyasharma007
Copy link

Hi @MikeRalphson

Can we start applying proposal for this project under GSOC 2023 ? If so is it possible if you can brief on how to approach the proposal or how can we contact you incase we want our proposals to get reviewed ? Or we directly apply with our understanding of proposal?

@MikeRalphson
Copy link

@bshreyasharma007 please feel free to email me your proposal draft to mike.ralphson@postman.com - then yes, apply directly to GSoC for this project.

@Kaif0708
Copy link

Kaif0708 commented Apr 1, 2023

Hi @ialimustufa ! I am Kaif . I am Sophomore in Computer Science Department at IIIT kurnool. I find this project interesting because it addresses a common problem faced by developers, which is finding and utilizing OpenAPIs on Github. This project offers an opportunity to contribute to a useful tool that can simplify the process for developers and enhance their productivity. I also appreciate the project's focus on open-source development, which aligns with my personal values.
I value clear communication and well-defined project goals. I believe that clear expectations and regular feedback are crucial to the success of any project. I am open to constructive criticism and eager to learn from the project mentors and coordinators. I prefer to work collaboratively and enjoy discussing ideas and problem-solving with other contributors.
I am always looking for opportunities to expand my knowledge and skills. While working on this project, I may focus on learning more about the Github API and the OpenAPI specification. I may also explore other open-source projects and technologies related to API development.
I like to keep myself organized by breaking down tasks into smaller, manageable goals and setting realistic deadlines. I also use project management tools such as Trello or GitHub Issues to track progress and communicate with other contributors. I am comfortable working with Git for version control and prefer to work on projects with clear coding standards and documentation.
If I were to work on this project, a potential weekly schedule with milestones and deliverables could be:

Week 1:

Research the Github API and OpenAPI specification
Develop a plan for crawling public Github repositories for OpenAPI definitions
Set up a development environment and create a basic API structure
Week 2:

Implement basic API functionality for searching Github repositories for OpenAPI definitions
Test API with sample data and identify any necessary improvements
Update documentation with progress and any necessary changes to project goals
Week 3:

Implement asynchronous search functionality to handle Github API rate limits
Test and debug asynchronous search functionality
Update documentation with progress and any necessary changes to project goals
Week 4:

Develop a user interface for the API
Test user interface with sample data and identify any necessary improvements
Update documentation with progress and any necessary changes to project goals
Week 5:

Conduct user testing and incorporate feedback into the project
Complete any remaining tasks and prepare the project for release
Submit project for review and feedback from mentors and coordinators

@kaushikc44
Copy link

kaushikc44 commented Apr 2, 2023

Hi Mentors [ @jansche @ialimustufa and 1-2 mentors ]

Introduction

I am Kaushik Choudhury a final year in visvesvaraya technological university and also working as an intern in Concise labs as a developer relation. I am also a full stack developer with Reactjs as my core in the front end and Node js/python on the backend. You can check out couple of my project over here Github and Linkedin I am also a grant winner for ETHIndia for my project GrayBox you may check this out GrayBox

TechStack

1.TypeScript 2. Javascript 3.NodeJs 4.FastAPi 5.ExpressJs 6.ReactJs

Q&A

Why I Choose postman

Most of my work requires me to create API's that require extensive testing and mock environments, even during my work we work on creating and providing graphql apis for blockchain data. We extensively use Postman to test it , and since most of the api's we create require us to pass the values via query parameters, postman makes it easy.

As Per the QA's mentioned I would like to introduce myself.

Q1) What interests you most about this project?

Api's are the backbone to today's world development, which connects the front to the back. I have used Github API's for keeping count of traffic for each repo forked, did it as a side project also used a couple of other Apis from the repo. Since I have worked with FastApi and Express Js and they have been highly fun to work in is what interests me.

Q2) As mentors and project coordinators, how can we get the best out of you?

Well, I have extensive knowledge of graphql api's and also Blockchain, I can help the team if we come across either of these. Apart from this, I would also like to work on creating its architecture of it.

Q3) Is there anything that you’ll be studying or working on whilst working alongside us?

I will be working as an intern in Concise labs, but the work requires me to give 3-5 hours of my time.

Q4)We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc.

For meetings, I usually use Calendly, for planning I use google Calendar which provides me on day to day basis update, also before I start my day I brainStorm and write up ideas and if there is things I will work on. This helps me keep myself organized and get to my milestones.

Q5) Please suggest a weekly schedule with clear milestones and deliverables around

Week 1:
1.Extensively go through the thought process of the team find out all the area's of the problem and identify them and list it in sprints so it can be solved in a manner.
2.Also, check out the repo this includes Github Api repo's and alternatives.
3.Also, lay down the architecture as to what we are trying to achieve in milestones. This is vital before we get into the core development process, so this can avoid any delays.

Week2-3

  1. Start working on creating the code and Mock environment, the mock environment is vital as it will show us the breakage points.
  2. As well as documenting it on the journey, since this can be useful for open source contributors in later stages.

week4-5
1.Proposal to use LangChain for developers would like to also implement ChatGpt api, by using our data and training them such that with just few words the API's should be outputted. Rather than the user searching for it , we can provide our documentation for training it. This can help in Searching any elements with just a few words.

2.This could also be helpful in getting across the rate limit if the event changes we should make a call and store the changes in our database and provide that to langChain to further train it , if the client wants to use that particular api he would get the latest updated data

Week6-7
1.Clean Up , and push it to stagging and extensively testing with real data.
2.Also providing it to user to extensively use it such that we can gather further data to enhance the process.

Week 8:
1.Final updation, publishing to Productions.
2.Submit the project for review.

@harshit-paneri
Copy link

Hello, I am Harshit Paneri and I am currently a third-year college student at Techno India NJR college and I am pursuing a degree in computer science, I am Web developer and an Open Source Contributor, I am Web Dev Lead in Google Developer Student Club in my college.
I have experience in Freelancing Projects and Internship (Web Application and Wordpress) and many Hackathons like SIH, Rackhathon and many more.
I am passionate about developing and innovating new things, I am hungry to learn new technologies.
I have knowledge of Full Stack Development (MERN) and git.
I developed many API and I also documented it, I have good experience of working with Postman.

@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