DEV Community

Cover image for Hacktoberfest 2023 Recap
Amnish Singh Arora
Amnish Singh Arora

Posted on • Edited on

Hacktoberfest 2023 Recap

A few days ago, I made my Final Pull Request for this year's Hacktoberfest event, and it seems to be a perfect timing for publishing a recap of the entire experience.

Table of Contents

 1. Introduction
 2. The Contributions ⭐
       2.1. Adding a CI pipeline to a project 🎷
       2.2. Adding custom validation to a form
       2.3. Adding skip questions feature to a quiz app
       2.4. Fixing a UI bug in a ChatGpt clone
 3. Learnings 📖

Introduction

Before I dive into the details of my contributions, allow me to introduce myself as a developer and my overall standing as an open-source contributor. I am a 22 year old Computer Programming and Analysis student at Seneca College learning about various programming languages, system methodologies, web development, and the design/maintenance of database systems.

To know more about me, feel free to visit my Linkedin Profile and my Github handle.

Amnish04 (Amnish Singh Arora) · GitHub

Beginner preparing to set foot in IT industry with huge ambitions and strong spirit. - Amnish04

favicon github.com

I am fairly new to open source and Hacktoberfest 2023 was effectively my first time diving into the vast open-source community and making meaningful contributions to existing projects.

The Contributions ⭐

At the beginning of the event, I had doubts about whether I could get even one pull request merged. I had never looked for issues or repositories before on Github, let alone contribute. But fortunately, my professor who is teaching us about open-source has a super elaborate playlist on Youtube, guiding the viewers about various stages and aspects of open-source. The videos helped answer tonnes of questions I had in mind, and prepared me for my first ever contribution in the community.

There's a remarkable saying from CSGO by Antoine de Saint-Exupery:

Only the unknown frightens men. But once a man has faced the unknown, that terror becomes the known.

And just like that, once I got my first PR in,
There was no turning back.

I was able to get a total of 5 (1 in progress) pull requests merged, all of them in different types of projects and focusing on different types of issues.

Let's take a look at all of them one at at time.

Adding a CI pipeline to a project 🎷

My first contribution was on a fairly new project, and focused on the Devops side rather than fixing or enhancing the actual code.
Here's what the application's landing page looked like.

App Image

The maintainer had opened as issue requesting to set up a Github actions pipeline that would build the project and pass only if all the steps succeeded.

This seemed to be a perfect issue for my first contribution as it didn't involve changing any code/logic, and gave me a chance to practice writing CI pipelines, something I had just learnt in the Cloud Course I am taking this semester.

I quickly opened a pull request putting in whatever I had learnt so far, and it was successfully merged in the main branch.

I have written a complete blog about this contribution, feel free to check it out for full details on the entire process.

Blog: https://dev.to/amnish04/happy-hactoween-228i
Pull Request: https://github.com/mcruzdev/platformoon-web/issues/2

Adding custom validation to a form

For the second contribution, I decided it was time to start writing some actual code. I found a project that asked for some info from the user and generated profile cards for them based on the entered information.

Profile Card Generator

I tried to play with the project but found that the form requesting for user info did not have any kind of input validation. If the user entered invalid info, it would generate broken cards for them instead of waiting for correct input. Therefore, I opened an issue for this enhancement and submitted a pull request that got merged in a day.

I have talked about this PR in the following blog.

Blog: https://dev.to/amnish04/my-second-hacktoberfest-pr-4d1e
Pull Request: https://github.com/piyushkdas0611/Profile-Card-Generator/pull/48

Adding skip questions feature to a quiz app

After getting my hands dirty with some actual code in the second PR, I wanted to contribute with a more complex and elaborate feature this time.

I found a quiz application on topic azure-fundamentals, that had an issue open requesting for what I thought was a fun feature to work on.

Quiz App

The maintainer wanted any skipped question to be put in a queue, and once the user went through the inital pass of questions, the skipped questions should show up in order. The process should repeat until all questions have been answered.

This one took a lot of work - 29 discussions and 10 commits as we kept making changes to the requirements until everyone was satisfied.

For complete story, check out this blog.

Blog: https://dev.to/amnish04/adding-a-real-feature-to-a-project-400h
Pull Request: https://github.com/eduardconstantin/azure-fundamentals/pull/82

Fixing a UI bug in a ChatGpt clone

For my final contribution, I was looking for a medium to large sized project of excellent quality. During my search, I saw my professor's chat on our Slack channel about one of his own projects called ChatCraft. I quickly checked it out and really liked its idea and the way it was built.

ChatCraft Demo

I saw an issue about a scrolling bug that was open for more than a month, and decided to work on that.

This was, by far, the trickiest one to figure out, even with just 5 lines of changes. The entire story, along with a bonus PR, is covered in the following blog. Make sure to check it out.

Blog: https://dev.to/amnish04/no-backing-away-when-hacking-away-2h27
Pull Request: https://github.com/tarasglek/chatcraft.org/pull/271/commits/d38e34894544d5af295c3f52babc246a2514ba82
Bonus Pull Request: https://github.com/sr229/kuru-kuru/pull/19

Learnings 📖

And that is how I went from being a newbie with no idea how open-source works, to a contributor in 5 different projects.

Merged PRs

An image of @amnish04's Holopin badges, which is a link to view their full Holopin profile

Along the way, I not only got the oppurtunity to revise old concepts that had blurred in my memory, but also learnt about new technologies like Fresh.js, a framework from Deno (a js runtime engine) that uses Preact, a React Routing library and used Chakra UI for the first time.

Apart from the technical skills, I learnt about the importance of patience, persistence and discipline while contributing to open source projects.

All in all, it was a truly unforgettable and valuable experience, and I am proud to be a new member of one of the most supportive community on the planet.

Top comments (0)