I decided to work on two bugs from different open source projects for my first real contribution to the Open Source community. The first bug is located in an open source project called GitHubCity. You can access this project via their github. This project is used to locate all Github Users in a specified city. It does this by accessing the location set in the users’ github profile.
The docs for this project is located here. I chose this project after searching for several hours for a bug that I am capable of implementing. I ended up finding this repository and after exploring the code, I realized that they needed to remove an if else statement and replace it with a much cleaner coding approach. I decided to tackle this bug and I read their contribution file in order to find out how I can get involved.
Thankfully this bug fix did not require me to ask for a lot of help, since this project is relatively small. However, if I needed to ask for help, then I would comment on the issue itself in order to get feedback from the admins. One thing I discovered about this repository is that the admin is not getting a lot of support, and I do not mind contributing more to this repository if he requires the help.
The second bug I decided to tackle is located in an open source project called CyberChef. The github page is the location of this project. This project is a web app that is used to perform operations such as data encoding, encryption, compression/decompression, calculating hashes, and etc. The docs for this project is located here. I found a bug that I really wanted to implement after searching their issues. It was to implement a CSV to JSON or array of arrays functionality. I then had to read through their contribution page to understand how to contribute this repository.
I got a lot of help by commenting on the issue itself because the admins are fairly active on this repository. What I found to be very interesting with this repository is their system of adding an operation to the modules folder and importing these modules later when running the application. This is the first time I had to do this and it took me a while to understand how exactly this works.
I will be going in depth about the fixes I made in my next blog post. See you there!