S

SSOC'22 contributions

Portfolioshop and Awesome Chrome Extensions

The problem SSOC'22 contributions solves

I have contributed to two projects named Portfolioshop and Awesome Chrome Extensions. I have raised 3 PRs and all three got merged successfully. Below is my contribution to each project:

Portfolioshop:

  1. issue (#67) An image uploading component which helps users to upload images effortlessly and store them into azure blob storage.
  2. issue(#45) There are errors in the console when we start the web application which later can create problems or can make the website slow.

Awesome Chrome Extensions:

  1. issue(#488) Typing speed extension makes it handy to calculate your typing speed and accuracy. Different quotes each time makes it engaging.

It was a confidence-boosting experience as I worked on some real-world projects and learnt how to implement my skills. My learning outcome from this program includes Microsoft Azure, React image uploading library, how a chrome extension works and how to implement it using HTML, CSS and JS. Also, the art of fixing errors.

Challenges I ran into

It was the first open-source program in which I have participated and when you are new to something, you will face challenges in many instances. I also got stuck many times and it was frustrating but in the end, I have learnt something from that. The challenges faced by me during this SSoC are as:

Portfolioshop:

  1. During fixing the issue(#67), I encountered difficulty in understanding the azure blob storage working and I have to spend 1 to 2 days learning it. Also, I worked with the react-images-uploading library.
  2. In issue(#45), It was difficult to find the errors in the code and eventually I found them but to resolve them I have to learn about React Helmet and HTML attributes. I solved this issue by passing HTML attributes as an object instead of a bool.

Awesome Chrome Extensions:

  1. While working with issue(#488), I faced problems in fetching data from API and my quotes were not showing, I resolved this by using fetch inside an async function. Also, I have learnt about customization in manifest.json like permissions, browser actions, etc.

Discussion