My GSSoC ’18 Journey

Coming from a synchronous coding background, it wasn’t easy for me to dive into the world of asynchronous programming. I tried my hands on NodeJS, only to face a lot of hurdles on the way. But none of them stopped me from learning the language. Eventually, I ended up falling in love with NodeJS. Callbacks, Promises, Async-Await, Arrow functions, you name it.

I wanted to put into use whatever I learned through the projects I developed in NodeJS. I was searching for an opportunity when I came to know about GSSoC ’18. I went through all the listed projects and chose uzay based on the tech stack. Uzay is a NodeJS & MongoDB based modern blog engine.

My contributions to uzay:

  1. Adding authentication to routes: I used JWT (JSON Web Token) for authenticating users. I created a middleware that could generate, decode, verify, allow/disallow an user based on the login credentials provided. The PR can be found here.
  2. Adding user registration: I created two new routes (/signup) and (/verify) that would register and verify a new user. I used the uuid module to generate unique token for every user and stored the details along with the password hash in the database. The PR can be found here.

I would like to thank my mentor Saksham Saxena for all the guidance throughout the project. I thoroughly enjoyed working during GSSoC ’18 and look forward for participating in GSSoC ‘19.