Hacktoberfest Week 4: Finding and Creating Issues.
Tags: opensource
Published: 2022-10-30 21:51:52

For the fourth week of Hacktoberfest, I searched for and created my own issue in a repository, rather than finding an existing issue.

## Project Recap
[The project](https://github.com/arpitghura/typing-test) I chose is a rather simple project.  It's a web application designed to test and practice typing skills.  User's can take and practice typing tests and the results will then be saved locally.

## The Issue & Pull Request
Initially, I tried to find an issue that was more challenging coding wise when compared to [last week](https://dev.to/alexsam29/hacktoberfest-week-3-enhancing-a-feature-3iin). However, I struggled to find an issue that was challenging and realistically do-able with my current skill set this late into Hacktoberfest. The problem was that I mainly encountered repositories that weren't real open-source projects and were created solely for Hactoberfest pull requests (PRs). When I did find an issue that I wanted, I was not quick enough to comment as somebody else was already assigned the task. Due to this, I spent way too long just searching GitHub for issues. 

### The Challenge
In order to still give myself a challenge, I decided to create my own issue instead of relying on ones already made. To do this, I had to find, fork, setup, run, and explore many (many) projects to find potential bugs and or features I'd like to add. I had to learn many tech stacks and read countless of documentation pages to get these projects to run and know how they work.
  
This is what made this week's PR much more challenging than the previous weeks because before, the bug fixes and feature requests were already made by someone else. All I had to do was find a way to fix/add it. Now, I had to do the bug finding and thinking for new features. There was that additional 'rookie fear' of creating new issues because you get the feeling that others will judge you for something; like potentially missing something in the documentation or having your feature request be seen as 'dumb' by others. There were times where I thought I had found a bug, but it was just an error with setup on my part. Or times where I'd suggest an issue, but the project maintainers would deny or suggest something else.

Once I got past the most challenging part and got an issue that I created assigned to me, I got to work. [The issue](https://github.com/arpitghura/typing-test/issues/44) I got assigned was to add a new table in the Typing Test project that showed the average speed and time of all typing tests taken. I'll be honest, this issue wasn't too challenging.  I added the new feature by calculating average times in the JavaScript files and adding a new table below the existing one using the DOM. I created [the PR](https://github.com/arpitghura/typing-test/pull/48) and got the feature added to the project with very little adjustments needed.

## Conclusion
While the actual coding was not as challenging as I had initially hoped, I'm still glad I got this experience because the challenge of creating a new issue myself gave me a chance to explore many projects that I probably would not have looked at before. I gained knowledge on different tech stacks and it gave me new found confidence to not be afraid to create new issues in open-source projects.