Last week I published an article about finding and making your first open-source contribution, specifically for developers searching for a project that caught their attention. It's important to get excited about something new and that's how we want our open-source journey to begin.
In that article, we used the explore tab within GitHub to find the perfect project to contribute to. But that's not the only way to find a contribution - especially with Hacktoberfest right around the corner. Let's use all of the tools at our fingertips to refine our search and help you get a contributing jumpstart.
Table of Contents
What is Hacktoberfest?
Hacktoberfest is a big-buzz annual event that encourages developers worldwide to contribute to open-source projects. It is a developer's dream and a time to really dive into open-source and get your OS (open-source) journey started.
The month-long event is a developer's dream and a time to really dive in. It's an excellent opportunity to give back to the community, sharpen your coding skills, and connect with like-minded individuals. But with thousands of repositories on GitHub, how do you find the perfect project to contribute to?
Fear not We've got this covered because GitHub filters will help us discover the right project for your Hacktoberfest journey.
What makes you excited about Hacktoberfest?
I would love to know and while I'm on the subject definitely check out this very well-written Hacktoberfest 2023 guide published a couple of days ago as another tool in your toolbelt to help you find the right project. ❤️
SAML Jackson of course showed up on the list ⬆️ in the Hacktoberfest-2023 guide. Jump over and give him a star!
Let's get hacking!
First, head over to GitHub and log in to your account. If you don't have one, creating an account is quick and easy. Once you're logged in, click on the "Issues" tab in the top navigation menu. This will take you to a page that shows your repository "Issues" globally for all the issues you have created, been assigned, or have been mentioned.
This is the first step - but we don't want to look at our own repos, we want to search the world of GitHub! 👨🚀
Let's also point out that many projects will add hacktoberfest
tags to their "Issues" just like good-first-issue
, enhancement
, etc.
Narrow GitHub's Filter
Let's start adjusting filters so we can find some cool projects.
One thing to note - when you go to the "Issues" section in the top left corner, your search pre-fills with your own info.
is:open is:issue author:NathanTarbert archived:false
But let's break down what this filter is searching for, so we can use it efficiently.
BTW, I will add a link to GitHub's docs that go into much more detail.
is:open
This filter narrows down the search to open issues. It retrieves only the issues that are currently open and have not been closed.is:issue
- This filter specifies that you're searching for issues specifically, as opposed to other types of content like pull requests or code. It helps narrow the search results to issues only.author:NathanTarbert
- This filter restricts the search to issues authored or created by a specific user, in this case, "NathanTarbert." It's useful when you want to find issues created by a particular user.archived:false
- This filter ensures that archived issues are excluded from the search results. Archived issues are typically older or resolved issues that have been moved to an archived state to declutter the active issue list.
To search for the broad scope of Hacktoberfest let's modify our search and then we will go over how to narrow it so it best suits us.
Add this in the search bar - is:open is:issue archived:false label:hacktoberfest language:any sort:updated-desc
Let me describe step-by-step how we are filtering the results:
is:open
- As previously mentioned aboveis:issue
- As previously mentioned abovearchived:false
- As previously mentioned abovelabel:hacktoberfest
- This filter narrows the search to issues that have been labeled with hacktoberfest. Labels are used to categorize and identify issues with specific characteristics or purposes.language:any
- This filter allows issues in any programming language to be included in the search results. It doesn't restrict the search to issues in a specific programming language.sort:updated-desc
- This filter specifies the sorting order of the search results. It arranges the issues in descending order of their last update, meaning that the most recently updated issues will appear at the top of the list.
Search Results
😄 The results returned a whopping 58,240 open hacktoberfest
issue tags because we didn't specify a programming language and sorting was even narrowed down because we only wanted to sort recently-updated
tags. That number can get much bigger! 🙀
Now, because I'm a JavaScript developer I want to find a project that suits me well so let's give it another try.
is:open is:issue archived:false label:hacktoberfest language:javascript sort:updated-desc
It still returned 10,600 open hacktoberfest
tags for projects using JavaScript. That's a start but it can be refined to your own needs.
This is just a start, now it's your turn! 🕊️
Now that you've applied the filters, explore the repositories that match your own criteria. GitHub provides a list of repositories with brief descriptions, star ratings, and a link to the project. Take your time to read through the project descriptions and find one that excites you.
Tell me what you came up with and how you will be contributing to Hacktoberfest this year. 👩🏽💻
boxyhq / jackson
🔥 Streamline your web application's authentication with Jackson, an SSO service supporting SAML and OpenID Connect protocols. Beyond enterprise-grade Single Sign-On, it also supports Directory Sync via the SCIM 2.0 protocol for automatic user and group provisioning/de-provisioning. 🤩
SAML Jackson: Open Source Enterprise SSO And Directory Sync
SAML Jackson bridges or proxies a SAML login flow to OAuth 2.0 or OpenID Connect, abstracting away all the complexities of the SAML protocol. It also supports Directory Sync via the SCIM 2.0 protocol for automatic user and group provisioning/de-provisioning.
We now also support OpenID Connect providers.
Directory Sync
SAML Jackson also supports Directory Sync based on the SCIM 2.0 protocol.
Directory sync helps organizations automate the provisioning and de-provisioning of their users. As a result, it streamlines the user lifecycle management process by saving valuable organizational hours, creating a single truth source of the user identity data, and facilitating them to keep the data secure.
For complete documentation, visit boxyhq.com/docs/directory-sync/overview
🌟 Why star this repository?
If you find this project helpful, please consider supporting us by starring the repository and sharing it with others. This helps others find the project…
At BoxyHQ, we are looking for open-source contributors to help us shape our Developer Building Blocks and we welcome you to join us!
Happy coding!
Top comments (21)
Interesting, I might allocate some time for BoxyHQ. Oh how I wish to take this as side job to build skills and getting side income :)
Thanks @pizofreude!
Yes, it's too much fun to call work haha.
Lmk if there's opening! LMAO
Will do!
In the meantime let's collab on a project!
Sure, hit me up. I'll see what I can do :)
Sounds good!
I think that the filter should not be label:hacktoberfest
But it should be topic:hacktoberfest
Hi @twocs
When I change the label to topic no results are found.
Depends what you are looking for, really. But if you want to participate in Hacktoberfest, I'd suggest to click "all of GitHub". Once you apply that search to "all of GitHub", it will find all repositories that are participating in Hacktoberfest. These two are essentially identical:
However, the second link is better because it also allows extra filtering. Once you have found a repository that is participating then you can search for a label on an issue within that repository, but in my experience it's better to look for a label like "Good First Issue". Only a few repos like freecodecamp actually label issues with Hacktoberfest.
https://github.com/search?q=label%3AHacktoberfest&type=issues
195,000 issues, but now you cannot filter on things like "language". 75% of the "hacktoberfest" labels only got added because someone has already created a pull request for that issue.
Otherwise, you could search for a repository with a specific language such as Typescript that is participating in Hacktoberfest:
All good info @twocs :) Thanks for sharing!
Great article Nathan..
Detailed description. Thanks for writing this.
This is very good read, it'll get me started 😀
I'll look into BoxyHQ too
Thanks for the feedback @akuoko_konadu!
I appreciate you letting me know :)
If you have any questions about some of Boxy's issues just reach out to me on Twitter/X @nathan_tarbert - I'd be happy to help.
Love how you're using the filters 🔥🔥
Thanks @thevinitgupta, I appreciate the feedback.
It's not crystal clear in Githubs docs IMO :)
Great article!
I have always struggled with GitHub filters, hard to find any docs 😅
I know what you mean @garrrikkotua. Usually, I end up in Stackoverflow or ChatGPT now because the docs may not be specific enough for a particular use case 😅
Great article!
I use filters all the time!
Especially with GitHub GraphQL
Thanks @nevodavid!
Same here, GraphQL is amazing and very flexible.
Thanks a lot Sir......!
Glad you liked it @chetax!