GSoC’22 Week 0: Early Initiations

Sadashay Kanungo
SCoRe Lab
3 min readJun 12, 2022

--

This is the first in a series of blogs covering my journey as a contributor in GSoC ’22 at SCoRe Lab. Here, I share the progress of the project and just think out loud.

Follow me here… | Linkedin | Github |

How did I get here?

My journey to getting selected for GSoC did not go the usual route. Developers start contributing to multiple open source projects months in advance. I, on the other hand, have zero open-source contributions until now!

During those months I upskilled in the Web3 domain, completed some blockchain projects and then interned at a startup working with NFTs. Right until the day of organization's announcement I had no intention of submitting a proposal. But my friends convinced me to skim through some project ideas. And to my surprise, SCoRe Lab was introducing a brand new project and that too in the NFT space. It was perfect for me. I had all the required skills, knew the stack, and had experience in the domain and related to the problem it was trying to solve.

I joined the community channels and messaged the mentors the same day. For the next two weeks, I worked hard on the proposal. With guidance from project mentors, my ideas and research shaped up into NFT-Toolbox. An NPM package that bridges the gap between Web2 and Web3 for developers in the NFT space. The proposal was accepted. And that is how I became a GSoC Contributor.

How’s it going?

The Community Bonding period at SCoRe Lab has been a nice experience. I connected with my project mentors and the admins. SCoRe Lab is a pretty big organization with a total of 24 projects getting selected this year. As much as I would like it to happen, it is quite difficult to organize a meeting for all the contributors to come together.

After the Kick-Off meeting, most of the time is spent in discussions about the project. The mentors and I made changes to the proposed design and reframed NFT-Toolbox so that it would meet industry standards and be user-friendly. Initially, these changes seem challenging because we have thought about our ideas in the proposal for a long time and planned ahead based on them. But incorporating feedback and redesigning the project is very helpful in arriving at the best solution. It also helps us pick up new things and grow as developers.

The most significant change made to NFT-Toolbox was to adopt a Class-based design rather than a Script-based design. This would help Web2 developers to integrate the NPM package seamlessly into their projects and that is our primary desired outcome. To incorporate this change I reworked the package structure and made modifications to the plan. Since we were now going to work in the Object-Oriented paradigm, I decided to shift to Typescript.

In the final week, the preparations for the Coding Period took place. I divided the work into weekly milestones, set up a Progress Tracker and created Issues on the Github Repository. With this, we are all set for twelve weeks of non-stop high-speed coding!

What’s next?

I have set weekly targets for the entire Coding period. For Week 1, I have to create the Collections class and write the Generate method for it. The Collection class represents an NFT collection. It contains all the attributes an NFT Collection requires, a Schema for Layer images and Folder paths for NFT and Metadata files. The Generate method takes the Layer Schema as a parameter and generates Images and Metadata files based on it.

Since this is the first class, I am ready for some unforeseen challenges. After the basic functionality is achieved, I will add as many customizations as possible to the Generate method. I will also write Tests for all the classes as we go along. Feeling pretty pumped.

That’s all for now. See you in the next blog!

--

--