Creating the SpaceX CLI was a project that I thoroughly enjoyed. It was not only the first time creating a working program (outside of Learn lessons, of course), but it was the first time working with a data set that I am genuinely interested in. I am very pleased with the finished product. I was even able to get creative and use gems for color, and add some ASCII rocketship pictures printed to the terminal!
In the end, while I did not struggle with too many portions, this project still had much to teach. I learned to read an API, and translate that into ways to access each of the different data sets I needed. I brushed up on string interpolation and using variables inside of strings to construct paragraphs that make sense when different variables are passed in.
What I struggled with the most with this project was using other developer's gems. I found that some gems I had tried using did not have the best documentation to go along with them. This lead to a misunderstanding of the correct uses of the gem's classes and methods. It taught me that no matter how simple something seems, it is a good idea to have thorough and accurate documentation describing your code.
This project also gave me a basic understanding of Github, its uses, and how to correctly set up a repo and push to it. I struggled with this when I accidently set an incorrect path for my project's origin. This lead to a lot of "fatal" failures. As a novice programmer, when the word "Fatal" shows up in my terminal, I get scared! However, this was a simple fix that only involved a simple git command in the terminal (git rm origin) to remove the incorrect origin, and add the correct one! This experience also taught me to PAY MORE ATTENTION! When I set up the origin, i simply left out ".git" and the next thing I saw was Mortal Combat's "FATALITY" at the bottom of my screen.