First CLI Project

Posted by Patrick Akolo on May 27, 2019

After a little over a month of an immersive introduction to Ruby, I undertook my first Project. Starting from a blank sheet and having to take an idea for conception to completion was a challenge. Creating my first CLI turned out to be a process of break, then fix and repeat in a manner that was daunting, frustrating and exciting all at the same time.

Getting started proved to be the hardest part. Determining the purpose of my application and how users would interface with it took longer than I anticipated. I turned to my own necessity to determine what application I would create. Job hunting to me is a repetitive process that gets exasperating, the need to first research the organization that you have an interest in then find out whether the organization is hiring is time consuming. I decided to create a CLI that scrapes Job sites that list best places to work, then added a second scrape functionality that retrieved data on companies that have open positions, then compared the data from the first scrape for a match.

The nature of immersive learning is such that one learns from hands on experience. This means that one learns about something as they encounter it. I soon learned that not all websites following established protocols in their design and some websites incorporate security features that restrict scraping. It look a lot of time and patience to get the scrape functionality to work as I had to use conditional statements to manipulate the data and only return what I wanted my users to see. I did away with the sites that had protective/ security features that restrict scraping.

Finally getting my CLI to run and return the information the user wanted to see was really rewarding. I had to use a lot more than I had learned in from the instruction material provided in the Learn curriculum to make my CLI work. What the first part of my course had taught me well was how to search for information and use all available resources to make my code work.