Contributing to Open Source projects shouldn't be difficult for first-timers, but finding projects that provide contributors with a learning experience is often a daunting and difficult task.
Issue Haven addresses these problems by giving users an automatically curated and categorized catalog of available issues from popular repositories on Github, sorted by language and type.
In doing so, it aims to greatly lower the barriers to OSS contributions by connecting motivated contributors with welcoming projects that could use their help.
Currently, there are multiple other projects that attempt to address this issue:
Issue Haven is set apart from existing solutions in several ways:
Unlike the aforementioned services, Issue Haven automatically compiles a list of suitable repositories, and requires no maintenance; repositories must have at least 500 stars and use any of the predefined labels to be automatically recorded into Issue Haven
Issue Haven maintains an extensive list of issue labels deemed beginner-friendly (see the configuration), capturing a variety of projects without forcing them to adhere to a new set of conventions (i.e. the Hacktoberfest or First-Timers-Only tag)
Issue Haven sorts issues into several categories (i.e. programming-related & documentation-related tasks) to differentiate issues for contributors with different skill sets; whether one's skilled in programming, writing up swathes of documentation, or graphics design, Issue Haven makes it easy to quickly find a suitable issue.
Issue Haven consists of two main components:
Monolith functions by going through a list of predefined issue labels and querying the Github API for repositories with 500 or more stars that use any of the labels; this attempts to ensure that issues are pulled from projects with relatively healthy codebases, and that issues are geared towards beginners.
After obtaining a list of repositories that fit the criteria, the script iterates through the labeled issues in the repository and categorizes them (i.e. programming vs documentation), and stores them in a database.
The public instance of Issue Haven runs on a Flask / Gunicorn / NGINX stack, with a PostgreSQL database.
If you're interested in contributing, please open an issue with the appropriate labels prior to working on any changes.
This project uses the black code formatter; run black
in the project directory before submitting a PR.
If you want to support this project, consider donating via PayPal.