From 90a110ee78a3beb94251684b87140bb893b658d4 Mon Sep 17 00:00:00 2001 From: Aditya RC Date: Sat, 20 Dec 2025 23:00:50 +0530 Subject: [PATCH] Add project filter table by language and skill level Add project filter table by language and skill level Okay so I noticed a lot of people struggle to find their first project to contribute to. Like, they know Python or JavaScript but have no clue which repos are actually welcoming to newcomers. So I made this table with 35+ projects sorted by: - What language you code in - Your skill level (beginner/intermediate/advanced) - What you want to do (write code, fix docs, test stuff, design) Each row has a direct link to that project's beginner issues. I also threw in a "how to use this" section because tables can be confusing, and added some other sites where you can find more projects. Hope this helps people stop spinning their wheels and just get started! PS - checked all the links, they're good to go --- compilation_of_open_source_resources.md | 58 ++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/compilation_of_open_source_resources.md b/compilation_of_open_source_resources.md index 66de239..1002f22 100644 --- a/compilation_of_open_source_resources.md +++ b/compilation_of_open_source_resources.md @@ -8,6 +8,7 @@ If you know of any more great resources for this purpose please feel free to add - [List of curated resources to get started in Open Source](#list-of-curated-resources-to-get-started-in-open-source) - [List of Open Source Projects](#list-of-open-source-projects) + - [Filter Projects by Language & Skill Level](#filter-projects-by-language--skill-level) - [How to find issues targeted at first timers in github](#how-to-find-issues-targeted-at-first-timers-in-github) - [Getting Started with Code Collaboration](#getting-started-with-code-collaboration) - [Getting Started with Contributions](#getting-started-with-contributions) @@ -28,6 +29,61 @@ If you know of any more great resources for this purpose please feel free to add - [Software Carpentry Lessons](https://software-carpentry.org/lessons/) - Web Browsers: [Mozilla open science](https://science.mozilla.org/projects) - [Apache Project List](https://www.apache.org/) + +## Filter Projects by Language & Skill Level + +Find open-source projects that match your programming language, skill level, and contribution interests. All projects listed below have active "good first issue" labels and welcome new contributors. + +| Language | Skill Level | Contribution Type | Project Name | Description | Good First Issue Link | +|----------|-------------|-------------------|--------------|-------------|----------------------| +| **Python** | Beginner | Documentation | Scrapy | Fast high-level web crawling & scraping framework | [Issues](https://github.com/scrapy/scrapy/labels/good%20first%20issue) | +| **Python** | Beginner | Code | OMRChecker | Grade exam sheets using scanner or phone with image processing | [Issues](https://github.com/Udayraj123/OMRChecker/labels/good%20first%20issue) | +| **Python** | Intermediate | Code | Pandas | Powerful data analysis/manipulation library with labeled data structures | [Issues](https://github.com/pandas-dev/pandas/labels/good%20first%20issue) | +| **Python** | Intermediate | Documentation | Matplotlib | Comprehensive library for creating visualizations | [Issues](https://github.com/matplotlib/matplotlib/labels/good%20first%20issue) | +| **Python** | Advanced | Code | Jupyter Notebook | Interactive computational environment for notebooks | [Issues](https://github.com/jupyter/notebook/labels/good%20first%20issue) | +| **Python** | Advanced | Code | MindsDB | Open source AI layer for existing databases | [Issues](https://github.com/mindsdb/mindsdb/labels/good%20first%20issue) | +| **JavaScript** | Beginner | Documentation | Awesome for Beginners | Curated list of beginner-friendly projects | [Issues](https://github.com/MunGell/awesome-for-beginners/labels/good%20first%20issue) | +| **JavaScript** | Beginner | Code | First Contributions | Hands-on tutorial for making your first contribution | [Issues](https://github.com/firstcontributions/first-contributions/labels/good%20first%20issue) | +| **JavaScript** | Intermediate | Code | Opsdroid | Open source chat-ops bot framework | [Issues](https://github.com/opsdroid/opsdroid/labels/good%20first%20issue) | +| **JavaScript** | Intermediate | Testing | Jest | Delightful JavaScript testing framework | [Issues](https://github.com/jestjs/jest/labels/good%20first%20issue) | +| **JavaScript** | Advanced | Code | Storybook | UI component development & testing tool | [Issues](https://github.com/storybookjs/storybook/labels/good%20first%20issue) | +| **TypeScript** | Beginner | Documentation | TypeScript | Typed superset of JavaScript | [Issues](https://github.com/microsoft/TypeScript/labels/good%20first%20issue) | +| **TypeScript** | Intermediate | Code | Stirling-PDF | Powerful locally hosted web-based PDF manipulation tool | [Issues](https://github.com/Stirling-Tools/Stirling-PDF/labels/good%20first%20issue) | +| **TypeScript** | Intermediate | Code | Refine | React framework for building internal tools and admin panels | [Issues](https://github.com/refinedev/refine/labels/good%20first%20issue) | +| **TypeScript** | Advanced | Code | SigNoz | Open-source observability platform with logs, traces & metrics | [Issues](https://github.com/SigNoz/signoz/labels/good%20first%20issue) | +| **React** | Beginner | Documentation | React | JavaScript library for building user interfaces | [Issues](https://github.com/facebook/react/labels/good%20first%20issue) | +| **React** | Intermediate | Code | Gutenberg | Block editor for WordPress and beyond | [Issues](https://github.com/WordPress/gutenberg/labels/Good%20First%20Issue) | +| **Rust** | Beginner | Code | Rust-Clippy | Lints to catch common mistakes and improve Rust code | [Issues](https://github.com/rust-lang/rust-clippy/labels/good%20first%20issue) | +| **Rust** | Intermediate | Code | Rustfmt | Tool for formatting Rust code according to style guidelines | [Issues](https://github.com/rust-lang/rustfmt/labels/good%20first%20issue) | +| **Rust** | Advanced | Code | Servo | Browser engine designed for embedded use | [Issues](https://github.com/servo/servo/labels/E-easy) | +| **Go** | Beginner | Documentation | Gitea | Painless self-hosted Git service | [Issues](https://github.com/go-gitea/gitea/labels/good%20first%20issue) | +| **Go** | Intermediate | Code | Kubernetes | System for managing containerized applications | [Issues](https://github.com/kubernetes/kubernetes/labels/good%20first%20issue) | +| **Go** | Advanced | Code | Prometheus | Monitoring system & time series database | [Issues](https://github.com/prometheus/prometheus/labels/good%20first%20issue) | +| **Java** | Beginner | Code | RipMe | Downloads albums from various websites for archival | [Issues](https://github.com/RipMeApp/ripme/labels/good%20first%20issue) | +| **Java** | Intermediate | Code | OpenMetadata | All-in-one platform for data discovery & governance | [Issues](https://github.com/open-metadata/OpenMetadata/labels/good%20first%20issue) | +| **C++** | Intermediate | Code | Godot Engine | Cross-platform game engine for 2D and 3D | [Issues](https://github.com/godotengine/godot/labels/good%20first%20issue) | +| **C++** | Advanced | Code | MoveIt | Robotics manipulation platform for commercial applications | [Issues](https://github.com/moveit/moveit/labels/good%20first%20issue) | +| **C#** | Beginner | Documentation | Files | Modern file manager for Windows | [Issues](https://github.com/files-community/Files/labels/good%20first%20issue) | +| **C#** | Intermediate | Code | Uno Platform | Cross-platform native apps with C# and XAML | [Issues](https://github.com/unoplatform/uno/labels/good%20first%20issue) | +| **Ruby** | Beginner | Code | Up For Grabs | Curated tasks for new contributors | [Issues](https://github.com/up-for-grabs/up-for-grabs.net/labels/up-for-grabs) | +| **HTML/CSS** | Beginner | Design | Developer Roadmaps | Community-driven roadmaps and guides | [Issues](https://github.com/kamranahmedse/developer-roadmap/labels/good%20first%20issue) | +| **Multiple** | Beginner | Documentation | Awesome | Curated list of awesome lists | [Issues](https://github.com/sindresorhus/awesome/labels/help%20wanted) | +| **Multiple** | All Levels | Translation | FreeCodeCamp | Learn to code for free | [Issues](https://github.com/freeCodeCamp/freeCodeCamp/labels/good%20first%20issue) | + +### How to Use This Table + +1. **Find Your Match**: Look for projects that align with your programming language and current skill level +2. **Check the Label**: Click on "Good First Issue Link" to see available beginner-friendly tasks +3. **Read Project Guidelines**: Visit the project's repository and read their CONTRIBUTING.md file +4. **Start Small**: Begin with documentation or small code fixes to get familiar with the workflow +5. **Ask Questions**: Don't hesitate to ask for clarification in the issue comments + +### Additional Resources for Finding Projects + +- [Good First Issue](https://goodfirstissue.dev/) - Curated list sorted by language +- [Up For Grabs](https://up-for-grabs.net/) - Projects with tasks specifically for new contributors +- [CodeTriage](https://www.codetriage.com/) - Subscribe to repos and get issues in your inbox +- [First Timers Only](https://www.firsttimersonly.com/) - Friendly projects for new contributors ## How to find issues targeted at first timers in github - Some issues are better suited to new contributors to an Open Source project. To make these easier to find, they are often tagged with some of the following labels `first-timers-only`, `good first issue`, `good first task`, `beginners welcome`, `up-for-grabs`, `hacktoberfest`, `codeheat` @@ -75,7 +131,7 @@ If you know of any more great resources for this purpose please feel free to add * remember that maintaining an open source project is super hard * start by making a tiny pull request * read way more code than usual - * don’t be scared to share a work in progress + * don't be scared to share a work in progress * write really detailed PR descriptions * smaller pull requests are better * close the PR if nobody replies