Hacktoberfest Recap
Published: 2023-11-01 07:35:58

For this month in [Topics in Open Source Development](https://github.com/Seneca-CDOT/topics-in-open-source-2023/wiki), I was tasked with partaking in [Hacktoberfest](https://hacktoberfest.com/) and submitting 4 pull requests this month.

Pull Request 1 - https://dev.to/paulkim26/hacktoberfest-week-1-33hh
Pull Request 2 - https://dev.to/paulkim26/hacktoberfest-week-2-4648
Pull Request 3 - https://dev.to/paulkim26/hacktoberfest-week-3-49id
Pull Request 4 - https://dev.to/paulkim26/hacktoberfest-week-4-ad2

Here are the big takeaways I learned…

## It takes a long time to find issues to work on

There was no shortage of interesting projects to work on, but finding one to work on can be a lot of work in and of itself. Before taking on an issue I had to make sure I could even properly set it up. Some projects had extensive requirements to follow through. Others had technical issues or were buggy in a way that prohibited further enhancement for the issue. Another dealbreaker were projects that asked to be refactored entirely or have the documentation written for in post - this indicated a general lack of quality to me that was not worth dealing with.

Here are some of the repositories I passed up for one reason or another:

- No response
	- https://github.com/trussworks/react-uswds
- Problems during setup
	- https://github.com/mattermost/mattermost
	- https://github.com/Xkonti/file-api
	- https://github.com/JordanForeman/cf-find
	- https://github.com/digitalfabrik/integreat-app#project-setup
	- https://github.com/yanna92yar/open-listings
	- https://github.com/beda-software/fhir-emr
	- https://github.com/AnshuPathak-88825/Live-code
		- App did not work properly.
	- https://github.com/harshmangalam/qwik-x/issues/64
		- App had errors fetching from database.
- Felt too much like a student project
	- https://github.com/ConnectPlus-Org/ConnectPlus-Frontend/issues/36
		- Had typos everywhere.
	- https://github.com/mazipan/tanyaaja
	- https://github.com/LainForge/Neura-Launch-Dashboard
	- https://github.com/qianzhong516/interactive-comments
	- https://github.com/0l1v3rr/trello-clone/issues/42
- Were out of scope
	- https://github.com/prasenjeet-symon/intellectia/issues/174
	- https://github.com/stephane-r/holoplay-pwa/issues/32
		- Involved testing an Android version.
	- https://github.com/0xVikasRushi/OpenIssueMonitor/issues/1
- Involved non-coding work only
	- https://github.com/YurisCodingClub/zero-minds/issues/21
		- accessibility check
	- https://github.com/OpiumPay/opium-frontend/issues/2
		- readme creation
- I had no idea what these projects did
	- https://github.com/GEWIS/sudosos-backend/issues/84
	- https://github.com/hasadna/open-bus-map-search/issues/106
	- https://github.com/inclinedadarsh/open-spectrum
	- https://github.com/getAlby/ZapPlanner/issues/60
	- https://github.com/jokly/crowdfunding
	- https://github.com/thtauhid/terminal-portfolio/issues/81

## You can submit a pull request right away

One thing I learned early on from my peers on our course Slack - you don't have to wait for permission to submit pull requests to an issue. You can go ahead and post one anyway and use that as a starting point for communication. This is contextual of course - certain problems require extensive communication before starting out on.

## It can be fun to jump into a new framework on the fly

I experienced a lot of new tools, frameworks, libraries, architectures, and coding styles during Hacktober. The ones that stuck out to me in particular were [Prisma](https://www.prisma.io/), [Svelte](https://svelte.dev/), [Chakra UI](https://chakra-ui.com/), [Postgres](https://www.postgresql.org/), [simple-keyboard](https://hodgef.com/simple-keyboard/), [Qwik](https://qwik.builder.io/), [Notion](https://www.notion.so/), and [Firebase](https://firebase.google.com/). I didn't have to learn these tools comprehensively at the onset - I could play around and tinker with them and discover how they worked and discover how to best use them for my specific use case. I may or may not use these all in my software development career but the skill of picking up, well, new skills is something I can hone over time.
## The open source community is really nice

The project maintainers I have interacted with were pleasant and professional to work with. They would go over my code extensively, give meaningful feedback, take and accept my suggestions - just overall be very easy to work with. Looking at other people's discussions, there was never any vitriol or poor communication skills on display between any parties (at least none that I've personally witnessed). Everyone has the same goal on a project and it's great to see everyone working together towards that.

## Small issues can be a surprising amount of work

An issue may seem straightforward at first, but I discovered some of them can go quite deep. For example, on one of my issues I had to implement a "Forget Password" page. At first it sounds like its just one new view to add, but the more I thought about it the more the work revealed itself - I had to introduce tokens stored in the database, I had to refactor existing code that overlapped with my aims, I would come across bugs in the code or in the tools I was working with. Thankfully, project maintainers can offer great insight and suggestions.

Hacktober was really fun! I highly suggest everyone who hasn't already to give it a try next time.

Thanks for reading!