Posts

DPS909 FINAL BLOG POST

During my 5th term on BSD program in Seneca College I had a chance to take a professional elective course and after talking to my friend who works in Google about the list of electives Seneca proposes he advised me to take an open source course because open source knowledge is critically important in the industry. During DPS909 I gained lots of knowledge and experience in GitHub and how the git works. I am 100% sure that communicating with the open source community will help me in my future workplaces, because any of us must have such soft skills. Moreover, in the second part of the course, I become a repository maintainer for one of the internal projects - Seneca Blackboard Extension, and this maintainer experience gave me a chance to feel myself not only as a contributor, but as a maintainer as well. Speaking about what I personally liked about DPS909 it is important to mention that we had a freedom, we could choose any project we want to work on and there were almost no limits

Release 0.4 - PR3

Image
As I mentioned in previous blog post, for the very last PR for DPS909 course I will stay in JavaScript algorithms repository (https://github.com/manrajgrover/algorithms-js). After researching the repository I found out that GCD algorithm that is already in the repo does not filter the cases when user enters real numbers instead of integers.  So, I have improved a GCD algorithm. Now GCD algorithm filters the cases when user enters real numbers instead of integers. Tests are improved also. Codes are below:

Release 0.3 - PR3

Release 0.4 - PR2

Image
For the second and third pull requests for the last release I decided to create couple of the algorithms and tests for open source project on GitHub. In October I found the repo where owner asked to implement standard algorithms using JavaScript and write tests for them. For this PR I took Leonardo numbers function, commented about this in the issues and started to work.  This function takes n as an input, and then returns all Leonardo numbers up to n.  https://en.wikipedia.org/wiki/Leonardo_number Code of this function you can see below. Test for this function: I tested my function and created the pull request. https://github.com/manrajgrover/algorithms-js/pull/69

Release 0.4 - PR1

For the last PR for the internal project for this course I have chosen to work a little bit more on the repo that I maintained for the last month - Seneca Blackboard Extension. As a maintainer of one of the internal projects of release 0.4 I did the following Cleaning the issues & communicating with contributors about issues Reviewing & accepting & closing the pull requests, communicating with contributors about PRs Some settings & Repository cleaning As a contributor, for the first PR of release 0.4 I did the following Connecting Travis CI to the repo Editing Readme file

Release 0.3 - PR2

Internal project - Seneca Blackboard Extension As I mentioned in previous blog post, for this release I had a chance to become a maintainer of the internal project and its repository - Seneca Blackboard Extension. After creating the basic file structure from “refined Twitter” extension example we started to work. As a maintainer of the repo I needed to control the issues and pull requests, but it was challenging. One of the reason is a couple of collisions - some people started to work on the same issues and I decided to create the rules for contributing to the repo, to avoid such collisions. The main rule of our repo is:  " FOR THIS REPOSITORY IT IS MANDATORY TO CREATE ISSUE OR COMMENT UNDER EXISTING ISSUE BEFORE CREATING THE PULL REQUEST." (CONTRIBUTING.md) After creating the rules it was much easier to assign issues to different students and accept pull requests according to the rules. Closer to the deadline of the Release 0.3 I faced the other problem that many repo

Release 0.3 - PR1

Beginning of the internal project For this release I had a chance to become a maintainer of the  internal project and its repository - Seneca Blackboard Extension. After creating a repo on GitHub, our team decided to develop an extension for Google Chrome, then we filed around 15 issues(we had 2 types of issues - new features/design and deleting useless parts), created the basic file structure from “refined Twitter” extension example and started to work. As a maintainer of repo and student of DPS909 I needed to do both sets of tasks - maintaining a repo and contributing to code. Here are the things that I finished in first PR: Contributor's tasks:  Basic file system created with small fixes  How to contribute section with rules added  Small ReadMe fixes done Repository maintainer's tasks:  Cleaning the issues & communicating with contributors about issues  Reviving & accepting the pull request, communicating with contributors about PRs  S