Hacktoberfest Week 1: First Pull Request
Tags: opensource
Published: 2022-10-08 04:59:19

In my Open-Source Development class (DPS909), we have begun to work on "Release 0.2".  This is the second out of four major assignments for the course after [Release 0.1](https://dev.to/alexsam29/dps909-blog-ssg-release-01-5ha4).

## Overview
This assignment is pretty simple. It requires us to participate in Hacktoberfest. For those who don't know what Hacktoberfest is, it is a annual event that encourages people to contribute to open-source projects throughout the month of October. So, for this release we are to contribute at least four pull requests (PRs) to three different open-source projects. Since many in the course are new to open-source (myself included), the four PRs should gradually increase in difficulty.  The first one can be "easy" and the second one should be more challenging, and so on.

## Finding an Issue
In order to find an issue to work on, I searched GitHub for new issues created with the label "Hacktoberfest". I initially had trouble finding issues because I was being to "picky" on what project I wanted to work on. I had this impression that I had to try to fix some project-breaking bug. I had to keep reminding myself that it's my first PR on a public repo outside the classroom, so it's okay if it's a small issue.

I found one project that contains a simple issue that I could contribute to.  The project is called [MediRepo](https://github.com/AndrGab/medirepoWeb) and in short, it's a React application that will help hospitals share daily medical reports to patients' families.  The [issue that I chose](https://github.com/AndrGab/medirepoWeb/issues/33) was very simple. The owner wanted to support other languages and asked for translations for the application's labels, buttons, notifications, etc.  I [commented](https://github.com/AndrGab/medirepoWeb/issues/33#issuecomment-1266328090) on the issue and offered to translate to French. The repo owner then assigned me to the issue.

This would be my first public PR, so I thought the simplicity of the issue will help me get accustomed to contributing to open-source projects.  

## Fixing the Issue
This issue was simple, so I did not need to run the program locally on my machine. I just needed to translate the labels from English to French; the owner had already made the English version.  

I forked the repo and made a branch called 'issue-33'. All the labels were kept in a single [file](https://github.com/AndrGab/medirepoWeb/blob/main/src/i18n.js) called `i18n.js`.  Since French is not my native language, I did my best to translate from English and referenced Google translate and various other translating services to try to get the most accurate translation. Once added, when a user selects the desired language to run the application with, the application will use the appropriate language for all labels while still using the same variable name in the HTML and JS files.

## The Pull Request
After finishing my contribution, [I created a PR](https://github.com/AndrGab/medirepoWeb/pull/38) on the upstream repo and summarized what I did.  I also welcomed any further reviews by native French speakers to make sure my translations were correct. The repo owner had no issues with my additions and merged my PR into the main branch.

## Conclusion
I'm happy to have 'broken the ice' and made my first PR. While this first issue and PR might not have been complicated or exciting, hopefully any first time nerves have gone away because of this experience. I'm excited to find more challenging issues to tackle in the coming weeks.