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

Lab 8 - Contribution Goals for CDOT Telescope & LifeStyle E-Commerce

After successfully completing Hacktoberfest, we move onto bigger and better challenges in open source. By November 15th I have the following goals to complete: 1. Contribute to a bigger issue on an open-source project (no more "good-first-issue" tags). 2. Contribute to CDOT Telescope, an internal project built by my fellow classmates. In this post I will break down my issue and goal for each goal. External Project- LifeStyle E-Commerce  This is a project I found in hacktoberfest and fixed a styling alignment bug for. You can find the full details of my contribution in my previous post.   If you are already familiar wit the project, you can skip the overview section. Overview Lifestyle E-ommerce is a front-end project for building an online store. It supplies various well designed pages for front-end developers to customize and utilize as a starting point for their e-commerce projects, whether it be for themselves or their clients. I gravitated towards this proj

Release 0.4 - My Internal Pull Request to Telescope

After a frantic 12 weeks, we have arrived at Release 0.4 - AKA the final release for the DPS909 Open-source course. Much like the previous release I covered, this release is comprised of two parts: an internal pull request to CDOT Telescope, and a more challenging external pull request to an open-source project. To improve your reading experience, I've also split my blog up into two parts. This post will be covering my internal contribution to CDOT Telescope. For a full description on what Telescope is, please refer to my previous pos t where I introduced it in detail, or the official overview . The Issue -  Search icon floating with window resize  Demonstration of the floating search issue Another student had added a dynamically floating search bar to the front end, however it was not functioning correctly as it would sporadically float around as you scroll or resize the page.  The initial hypothesis was that it was positioned relative to the view port cs it's

Hacktoberfest - Pull Request #2 : Rhymus

In my previou s post , I announced and explained my first pull request for this year's Hacktoberfest event, where I contributed to the documentation of CMS program called RawCMS. I also mentioned that documentation was simply a starting point for me as I aimed to contribute to the code/content of an actual application for my next pull request. I can proudly say that I succeeded in reaching this goal for my second pull request, as I was able to contribute to a project called Rhymus . The Project: Rhymus Rhymus is an open-source web based game written in HTML, CSS and Javascript. It presents the user with word based puzzles to help users improve their vocabulary and familiarity with some common expressions, Phrases and/or common expressions are shown with on of the words being replaced with a rhyme for the original. The user must input what the correct word is, and has the option to take a hint for less point. The game has a scoring system to measure the users success. All in a