Month: January 2017

DPS909 Lab 2 – Contributing Fixes to package.json file

For the second lab in DPS909 I had to find a module in node.js that was missing the keywords field in the package.json file. There are many node.js modules available at npmjs and surprisingly it wasn’t hard to find a module that was missing the keywords field. I decided to add the keywords field to the morgan module.

This module is described as a HTTP request logger middleware for node.js. It is a popular module and as of today has gotten over 2 million downloads in the last month.

The steps I took to complete this lab I found to be relatively simple. I first forked the morgan repository and then cloned it using git. After that I created a branch and edited the package.json file. Once I finished adding the keywords field in the package.json file I used the JSON validator to validate my changes. This ensured that I didn’t make any mistakes when editing the file. I then added, committed, and pushed the branch onto GitHub. Once my changes were on GitHub I created a pull request. Creating the pull request was a bit nerve-racking. I kept thinking if they would accept my changes or if they would be upset that I added a change.

After I created my pull request one of the members from the morgan team replied back to my request. He was glad that I wanted to contribute to their project but stated that npm completely redid their search engine and wanted to know if adding the keywords field mattered. He also stated that the morgan module is already at the top for the keywords I wanted to add and wasn’t sure if adding my changes would make a difference. He asked me to explain how the keywords section is used and what uses them. I replied to the best of my ability and until now didn’t receive any further reply.

Contributing to my first open source project felt scary but at the same time felt accomplishing. Even though I contributed a small change it felt good and encouraged me to want to contribute to other open source projects. I was surprised as to how easy it was to contribute to an open source project.


Welcome to my blog

Hi, my name is Badr Modoukh and I am currently in my last semester in the BSD (Software Development) program at Seneca@York. I enjoy web development, web design, debugging software, and programming in Java. I am interested in getting involved in the open source community and learning as much as I can.

DPS909 Lab 1

Learning a new programming language can be hard and challenging. Especially if you are new to programming.

An interesting open source project I found to solve this problem is called Exercism. Exercism gives you hundreds of practice problems in over 30 programming languages and is a place where you can get feedback on your solutions.

Exercism is specially useful for:

  • gaining fluency in your first programming language
  • ramping up in a new programming language
  • developing the skills to be a great lead developer: code review, refactoring, and mentoring

Exercism is written in Ruby and has 363 contributors who have contributed to the codebase. If you are interested in this project and want to learn more about this project its GitHub is and their website is