Ru Paul’s Drag Race CLI Project
For my first CLI Project, I spent a good amount of time debating whether I would source my data using an API, or scraping. I started a scraper project, I was going to display a list of the top 10 breeds of dogs owned in America. I spent all night looking over doggie lists, getting distracted by puppy videos, and attempting to scrape a little data. I soon bailed on scraping entirely, at the advice of my coding friends.
I went back to the internet to look for a suitable API. There isn’t a huge variety out there that is totally free and doesn’t require a key or dollar bills. If you search ‘free API’s’ there are a few lists that reference a lot of the same ones, a couple of recipe API’s, Star Wars, Cat facts, and a few others that did not catch my eye. After trolling around some random person’s 6-year-old blog post comments, I struck API gold. A Ru Paul’s Drag Race API and she was mine for the taking.
I started by creating my repository from Github and creating my file directory in the terminal. First things first, creating an executable or a run file and entering the ‘shebang’ to indicate which interpreter should be used to read the code. Next, was the environment file, this is where I ‘require’ the necessary gems and relative files in my program. Lastly, I got to work creating my different classes and building out the API call. I used the ‘rest-client’ gem for this, which was simple enough. Now I was done creating the overall skeleton of my project, and ready to move on to building out the rest of the program.
The first issue I ran into probably would have taken me days to figure out if it weren’t for the sharp eyes of some of my classmates. I had gone over my code numerous times and made sure it was right, but I wasn’t able to get my program running whatsoever. It ended up that I had misspelled ‘environment’ in my directory. Boy, was I glad that I pushed myself into the watercooler that night to ask for help!
The build-out of my Cli class went surprisingly smooth. I was once terrified of ‘pry’, but after this project, I am a lot more comfortable using it and have realized its value in programming. After a little bit of control flow confusion and a couple more trips to the watercooler, my program was starting to take shape.
It’s easy to let your ideas get carried away. Once things are starting to run smoothly, naturally one wants to make things bigger and better. I gave myself the ‘minimum viable product’ check and sided with keeping things simple. My ‘puts’ statements were jazzy enough, this time.
I showed some friends and family to get some feedback, made a few minor tweaks, and submitted my project.
Overall, I am pleased with the final result. It’s a simple program, but it operates smoothly and meets all the requirements.