Skip to main content

Hacktoberfest - Pull Request #2 : Rhymus

In my previous 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 all, I found it to be a fun project that would be very helpful for those looking to expand their vocabulary. I can see it being useful for foreign individuals who are still learning the English language.


The Issue - More Puzzles Wanted

An issue was posted by the creator of the project and was labelled with "Hacktoberfest", which is how I found this project. The creator was requesting to add some more puzzles to the game. I felt I was well equipped to do this given my background in web development along with my proficiency in English. I went ahead and commented that I will attempt to add 15 puzzles.


After reading the documentation, forking the repo and familiraizing myself with the code base I began to understand how the puzzles were created and loaded onto the UI. Each puzzle was a JSON object inside in array in a file called "puzzles.js". I went ahead and create 15 more objects with the same structure and members as the existing puzzles, and populated the fields with an ID, apuzzle phrase, a hint, and the answer. At this point the technical challenge was solved, but the real challenge was coming up with 15 unique and clever puzzles. 

The Pull Request

After adding 15 puzzles to "Puzzles.Js", I tested and pushed the changes. My first pull request attempt had some changes requested upon review. This was in regards to a minor syntactical issue and a rephrasing of one of the puzzles due to the possibility of it being misinterpreted. I went ahead and made the corrections, and requested a re-review. The creator thanked me for my work and merged my contributions into the master branch of the project.


Next Steps for HacktoberFest

My goal was to improve with each pull request and I can proudly say I have so far. This week I added content to an application that is now live and visible within the project.

The next steps from here would be to fix a code bug, add a feature (not just content), or improve an existing functionality.

I am eager to report my next major step in becoming an open-source contributor!

Stay tuned for the next pull request in about one week!


Comments

Popular posts from this blog

Release 0.3 - Pull Requests Telescope & LifeStyle Ecommerce

In my previous post, I revealed the issues I will be attempting to resolve in order to contribute for an internal project and an external project. I also detailed the projects themselves, so if you haven't already read my previous post, I would advise starting there to give my current post some context.

I can successfully say I reached the goals I set for both the external and internal project in my previous post. Keep reading to find out how I did this, and the challenges I overcame.

Internal Pull Request Adding Pagination to CDOT Telescope
This issue was assigned to me by a colleague and was much trickier than I initially anticipated. The issue simply required to implement paginating functionality to the front end, so that the blog posts are displayed in pages instead of all  being displayed in one very long scrollable feed.
The first challenge came with the starting point. The home page was designed with a very specific bootstrap library (MD Bootsrap) that had some different con…

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…

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() f…