DEV Community

Cover image for Hacktoberfest Magic: ✨ Github Unlocked Using Filters
Nathan Tarbert
Nathan Tarbert

Posted on • Updated on

Hacktoberfest Magic: ✨ Github Unlocked Using Filters

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.

Hugging bears

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

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.

Github Issues

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 above

  • is:issue - As previously mentioned above

  • archived:false - As previously mentioned above

  • label: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

Issues SS

😄 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.

Filter Javascript Issues

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. 👩🏽‍💻

GitHub logo 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

OpenSSF Best Practices Badge NPM downloads badge Docker pull statistics badge Apache 2.0 license badge Open Github issues badge Github stargazers Nodejs version support badge Swagger Validator badge

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.

A quick demo of the admin portal without sound to show an overview of what to expect. It shows features such as SSO, the ability to set up SSO connections, Setup Links, Directory sync, and more

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)

Collapse
 
pizofreude profile image
Pizofreude

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 :)

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Thanks @pizofreude!

Yes, it's too much fun to call work haha.

Collapse
 
pizofreude profile image
Pizofreude

Lmk if there's opening! LMAO

Thread Thread
 
nathan_tarbert profile image
Nathan Tarbert

Will do!

In the meantime let's collab on a project!

Thread Thread
 
pizofreude profile image
Pizofreude

Sure, hit me up. I'll see what I can do :)

Thread Thread
 
nathan_tarbert profile image
Nathan Tarbert

Sounds good!

Collapse
 
twocs profile image
Tom Anderson

I think that the filter should not be label:hacktoberfest
But it should be topic:hacktoberfest

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Hi @twocs

When I change the label to topic no results are found.

Image description

Collapse
 
twocs profile image
Tom Anderson • Edited

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:

Image description

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.

Image description

Otherwise, you could search for a repository with a specific language such as Typescript that is participating in Hacktoberfest:

Thread Thread
 
nathan_tarbert profile image
Nathan Tarbert

All good info @twocs :) Thanks for sharing!

Collapse
 
shreya_gr profile image
Shreya

Great article Nathan..

Detailed description. Thanks for writing this.

Collapse
 
akuoko_konadu profile image
Konadu Akwasi Akuoko

This is very good read, it'll get me started 😀
I'll look into BoxyHQ too

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

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.

Collapse
 
thevinitgupta profile image
Vinit Gupta

Love how you're using the filters 🔥🔥

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Thanks @thevinitgupta, I appreciate the feedback.

It's not crystal clear in Githubs docs IMO :)

Collapse
 
garrrikkotua profile image
Igor Kotua

Great article!

I have always struggled with GitHub filters, hard to find any docs 😅

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

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 😅

Collapse
 
nevodavid profile image
Nevo David

Great article!

I use filters all the time!
Especially with GitHub GraphQL

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Thanks @nevodavid!

Same here, GraphQL is amazing and very flexible.

Collapse
 
chetax profile image
Chetan Padhen

Thanks a lot Sir......!

Collapse
 
nathan_tarbert profile image
Nathan Tarbert • Edited

Glad you liked it @chetax!

Image description