-
Notifications
You must be signed in to change notification settings - Fork 14
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
Comments
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. 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. 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. |
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. |
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. |
Hi folks, |
That's great, thanks for informing @jansche |
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 ?
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
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.
Week 1: Research and analysis of the Github API and OpenAPI specification. Develop the initial search interface and integrate with the Github API. Week 4-5: Develop the logic to filter out non-OpenAPI definitions and validate the OpenAPI definitions. Week 6-7: Integration testing of the search functionality with Github API. Week 8: Update documentation and finalize the project. ============================================================== 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 |
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, 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. |
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. Week 3-4: Develop a basic prototype of the search interface and the initial code for making API calls to Github. Week 5-6: Refine the search interface and add more search parameters to increase the flexibility and accuracy of the search results. Week 7-8: Conduct thorough testing of the application to ensure it is robust and functioning as intended. |
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 |
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 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. Week 2-3: Develop basic code and conduct preliminary test (such as speed limit display and search function) Week 4-5: Modify according to the tutor's suggestion, optimize the search interface, and add more functions (such as search filtering) Week 6-8: Continue to improve the code and conduct all-round testing. And add some potentially innovative functions. |
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. |
Hi mentors, Aritra here! @jansche @ialimustufa A bit about myself: Why I have chosen Postman? Next, I will introduce myself by the QAs mentioned in Contribution Guide Q1) What interests you most about this project? Q2) As mentors and project coordinators, how can we get the best out of you? Q3) Is there anything that you’ll be studying or working on whilst working alongside us? Q4) We'd love to hear a bit about your work preferences, e.g. how you keep yourself organized, what tools you use, etc. Q5) Please suggest a weekly schedule with clear milestones and deliverables around it. Let's first discuss, What are some of the obstacles?
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?
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. Week 1: Week 2-3: Week 4:
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. Week 5-6: Week 7-8: Thank you for considering me. |
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
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. 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 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.
Week 1:Understanding the outcomes in details about that project and the workflow of it, 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 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. Week 6-7:Integration testing of the search functionality with Github API. Week 8:Update documentation and finalize the project. ============================================================== 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 |
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.
|
Yup, have the same issue, please clarify if you can. |
Apologies for the delay, I will be creating the issues tomorrow. Please check back in 24 hours. |
Hi all, apologies one again, initial issues are now up! https://github.com/postman-open-technologies/openapi-github-search/issues |
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. |
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? |
@bshreyasharma007 please feel free to email me your proposal draft to mike.ralphson@postman.com - then yes, apply directly to GSoC for this project. |
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. Week 1: Research the Github API and OpenAPI specification Implement basic API functionality for searching Github repositories for OpenAPI definitions Implement asynchronous search functionality to handle Github API rate limits Develop a user interface for the API Conduct user testing and incorporate feedback into the project |
Hi Mentors [ @jansche @ialimustufa and 1-2 mentors ] IntroductionI 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 GrayBoxTechStack1.TypeScript 2. Javascript 3.NodeJs 4.FastAPi 5.ExpressJs 6.ReactJsQ&AWhy I Choose postmanMost 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 aroundWeek 1: Week2-3
week4-5 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 Week 8: |
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. |
Closed as completed as part of 2023 edition. |
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
The text was updated successfully, but these errors were encountered: