DEV Community

Hyunjin Shin (Jin)
Hyunjin Shin (Jin)

Posted on

Hacktoberfest - Week 2

Links

Repo that I worked on
Issue
Pull Request that I opened

Process

I was searching for issues with keyward good first issue. And I found this Repo. It was a project that provides useful tools for web development. I think the project has started very recently, so it only had one module of formatting phone numbers. I thought that this project is really interesting, and it will be very useful. And there was one issue in this project. The issue was to make the tool support international phone numbers; currently it only supported one type of format. I left a comment asking if I can work on the issue, and then started working on it. The project used jQuery, which I had no experience of at all. Therefore, I had to study jQuery first. I studied jQuery only as much as I need to understand the project. After that, I thought about the logic of how to convert different types of international phone numbers. The problem was, I wasn't sure about the use cases. For example, "Do users provide what country the phone number is for?" or "Should the program figure it out by the entered country code?" I wrote the code with the assumpution that the user select country-code with dropdown box, since this is the most common use case as far as I experienced. I started writing codes, but the logic was really difficult. I had to use regex, and also the maintainer wanted it format the phone number as users type them. I searched docs for regex and used AI for some hints. Finally, I could make it work. Currently the tool now supports number for US, UK, FR, KR. However, following the same logic, they can easily add supports for more international phone numbers. There was a test code, so I also needed to write a test code for my changes. It used chai and jsdom dependencies for testing, so I also had to study about them a bit. Foutunately, I finished writing my code and test code, and the test successfully passed. Then, I opened pull request. I mentioned that I wrote the code assuming that the user select the country-code for their phone number.

Reflection

I was glad that I contributed to a project. However, today I had a OSD600 course in the morning. And other students talked about what repo they worked on and what issues they handled. They worked on a huge project that looks very difficult, and they got their PRs accepted and merged. That gave me imposter syndrom. I was quite depressed by how bad and unimpressive my PR and contributions are. However, at the same time, that was really motivating. I thought that I should also try to contribute to a huge project. And there was a guy Peter. He introduced his unsuccessful attempt to contribute to VSCode. Although he didn't succeed, he tried it. I thought that it was very brave and cool. That was really encouraging and impressive. For the next PRs, I will try to contribute to a huge project, whether I fail or not. I think even though I fail, it will be a great experience and I will learn a lot from the failure.

Top comments (0)