admirhusic / GoodFirstIssueFinder

A simple app which helps you find a good first issue
https://good-first-issue-finder.vercel.app
0 stars 4 forks source link

Enhancement: Advanced Search and Filter Functionality #5

Open admirhusic opened 3 weeks ago

admirhusic commented 3 weeks ago

Description:

We need to enhance the search functionality of our app, which is used to find good first issues on GitHub. Currently, the app has a search input for searching issues by name and a filter to filter issues by language. The goal is to improve the search experience by adding more advanced search and filter options.

Task Details:

Add the ability to filter issues by multiple languages:

Implement a multi-select dropdown or checkbox list to allow users to select multiple programming languages. Introduce filters for issue labels:

Add options to filter issues by labels such as bug, enhancement, documentation, etc. Include a filter for issue creation date:

Provide options to filter issues based on their creation date, such as issues created in the last week or the last month. Improve UI/UX:

Ensure the search and filter options are intuitive and easy to use. Provide clear visual feedback when filters are applied.

Benefits:

Enhances user experience by making it easier to find relevant issues. Increases efficiency in navigating and managing search results. Provides more granular control over search and filtering, helping users find exactly what they need.

Acceptance Criteria:

The app should allow filtering issues by multiple languages. Filters for issue labels should be implemented and functional. The creation date filter should allow users to filter issues based on their creation time frame. The UI/UX should be user-friendly, with intuitive search and filter options. Visual feedback should be provided when filters are applied. Thorough testing should ensure the new features work seamlessly.

kofta999 commented 4 days ago

Hello, could I work on this? I'm somewhat a beginner at React but I'll do my best working on it, may take a bit of time though as I'm kind of busy lately if you won't mind.

admirhusic commented 4 days ago

Hello @kofta999, sure you can take this issue, also if it's too big, you can split it in more pull requests, so it's eassier. Also you don't have to finish it 100%, you can impement one part, and prepare the remaining parts for someone else. Whatever feels best for you.

kofta999 commented 2 days ago

Hello, I want to ask about something here https://github.com/admirhusic/GoodFirstIssueFinder/blob/8bcad9ed8c6a9a35a72129a66ca244b3cd6eaa04/src/App.tsx#L40-L50

I understand that if there's issues already it should be concatenated for infinite scrolling, but then if I want to change the language I'm selecting, shouldn't it also concatenate the new issues to the old ones in the existing state? In production that does not happen but when I changed some things in code it did concatenate, so how did you deal with emptying issues state when a new language / search query is selected?

Thanks in advance.