DEV Community

Hyunjin Shin (Jin)
Hyunjin Shin (Jin)

Posted on

Hacktoberfest - Week 5

Links

Repo that I worked on.
Issue I fixed.
PR I opened.

Process

For this last PR, I really wanted to contribute to a larger project. I started to read other classmates' blogs, the issues they worked on, and their contributions. I found out that some of the classmates made a PR to this repo, and also during the classes, Professor introduced this project; so I was interested in this. I started to look around the issues in this repo, and I found this issue. I thought that I could fix this issue. Then, I started to read the code. It was very complicated to me. I only had little knowledge about react and typescript. And the structure is very well organized in a object-oriented programming way. However, sometimes I feel like when codes are too well organized, it feels a little bit like a maze. It took me many hours to understand where I should look into in order to fix the problem. Finally, I found the code that I need to change. I made changes and did some experiments and fixed it.

Challenges

  • Whenever I read code of a large project, it takes me a very long time to get just a little understanding. Therefore, it was not easy to get started.
  • I wasn't familiar with the technologies used in the project. I wasn't familiar with React, Typescript, Chakra UI, and Dexie; so I had to study or search whenever I encounter a piece of code that I don't understand at all. Especially for Chakra UI, I wanted to add padding-bottom but the syntax was very different, I went to the offical Docs page and spent quite a bit of time, for Chakra UI, ChatGPT wasn't helpful at all.

What I gained from this experience

  • First, I love this project, The code is really clean, and well organized. And it uses the tech stacks that I want to learn. and the UI is really neat and modern
  • Second, just reading the code many hours (not because I intended, but because I had to find where I should fix it), I learned a lot about React. It was amazing that I just read the code and learned a lot. It was much more effective than watching React lecture on Youtube. Of course it's because I already had a bit of knowledge of React. Nonetheless, I didn't expect that I would learn a lot by just reading code. When I have more time, I am going to read the code of this Chatcraft repo, and I will try to make something similar to this. It's beautiful app
  • Third, I overcame the fear of working on a large project. I wouldn't say that I've completely overcome the fear; however, at least I tried it, and made some PRs. It's still really daunting to read and work on large project, but I think I learned that they are not invincible monster. They are mortal(just metaphor; I mean, touchable or fixable)

Hacktoberfest Recap

I think I didn't make any PR that can be counted on Hacktoberfest, but I don't care much. I learned a lot from this experience, and that's all I wanted and needed. Even if I get lower marks due to uncounted PRs, I am okay(unless I fail this course; as I could have Visa problem). I am glad that I was forced to step out of my comfort zone. If the Professor is reading this post, I want to thank you. I sincerely appreciate for pushing me out of my comfort zone, it was tough and I was stressed out but I learned a lot. Now I know how to participate in Open Source Project, I will keep looking around Open Source Projects and read them and work on them.

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay