Skip to main content

My First Contributions and Collaborations in Open-Source

This week I continued my journey into the world of open source by contributing to the work of others, as well as accepting contributions from others for my Micro-Note web app detailed in the previous blog post. I was able to contribute one bug fix, and one additional feature to similar applications built by other students. This was done by utilizing Git features such as posting issues, forking repositories, creating new branches, and creating/receiving pull requests. Details of my contributions are explained below. In addition to these, I also received my first pull request to review nad merge another students contributions to my own application.

Fixing Another Students Bug

One of my colleagues (dbeigi) built a note taking application called "whiteboard" that allows users to save their notes using hotkey inputs, otherwise the application is meant to automatically save the users work every 4 seconds. While I was reviewing the code, I noticed the paramter in the setInterval() function call for the autosave function, was set to "40000". This means the application was auto-saving every 40 seconds instead of 4. After opening an issue, the creator confirmed this was in fact an entry error by him, and allowed to to proceed to fixing it. I forked the repo and created a new branch referencing the issue. I then cloned the repo to correct the code in Visual Studio Code and then pushed it back up to my forked branch using the "git checkout" command to ensure the branch is correct. I then created a pull request referencing the issue and the creator approved, so my contributions were merged into his master branch and his live application.

View Issue
View Pull Request


Adding a Feature to Another Students App

Another one of my colleagues (odaving) built a note taking application called "Whiteboard" that allows users to save their notes using hotkey inputs. One thing I felt it lacked, was complimentary styling that could capture a note-taking look and feel to enhance the user experience. After creating an issue, I went ahead and forked the repo with a new branch and added custom styling using the PaperCSS style-sheet library. I then pushed my changed to my forked repo and created a pull request, that the author eventually reviewed and approved. My contributions were then merged with his master branch, making my contributions live on his app.

View  Issue
View Pull Request

Receiving Another Students Pull Request

Aside from contributing to the work of other, I also learned how to review and merge the contributions of others to my "Mirco-Note" app. After receiving an issue that suggested the addition of hotkey support in my application, I approved and encouraged the issuer to implement the solution he finds best. Once he created a pull request, I reviewed his code and contributions thoroughly and it all checked out. I merged his pull request with my master branch so his contributions can go live in my application, and thanked him for his efforts.

View Issue
View Pull Request

Overall this exercise was highly effective for introducing the core Git functionalities that enable users to collaborate on open-source projects. This increased my confidence as I proceed to my next steps in the world of open source.


Comments

Popular posts from this blog

Micro-Note : My First Steps into Open Source

I just finished building Micro-Note, a simple web based note taking application. While it is not the most innovative app, it marks my first steps into the world of open source. Not only was I able to learn and exercise essential Git skills including the creation and operation of a repo, but also brush up on my web development basics. This involved both features found on the GitHub web app, and the Git command line interface. I found this highly useful as I am aware Git will be a part of my career moving forward, whether it be for open source or other ventures as a developer.

The app is simple and fairly self explanatory.  It allows the user to input notes into the web page and save them to continue or edit them later if needed. It is built with the standard web stack, HTML5, CSS, and JavaScript. It uses the FilerJS Browser Filesystem libraryto save the user input to a local file so the user can save and resume their note-taking at later time.  This was helpful as it allowed me to brus…

Hacktoberfest - My First of Many Open Source Events

After establishing a basic foundation in open-source concepts and skills, I eagerly look forward to participating in Hacktoberfest this upcoming October, and hopefully many more to come. Hacktoberfest is hosted by Digital Ocean and it is a month long event that runs throughout the month of October and encourages contributions to a variety of projects. It is highly accessible and welcoming to individuals across all regions and skill levels globally, which is great news since I still consider myself a beginner as an open-source developer. On top of all this, they also offer the prize of a Hacktoberfest shirt for registered users that successfully complete 4 or more pull requests. After reading through all the information on the Hacktoberfest website, I proceeded to set two goals and find three issues I would like to tackle.



Here are the goals I set for this event:
1 .Get involved in a project that you find interesting As a student, its often difficult to pursue personal project or learn ne…