OOPs! I Did It!
Object Oriented Programming Project (CLI Project)
“This philosophy teaches us to leave safe harbor for the rough seas of real-world experience, and to accept that a rough copy out in the world serves us far greater than a masterpiece sitting quietly on our shelves.” — Chris Matakas
This first project, designed to be completed in 3 days, sent me into the rough seas. Throughout the Flatiron School curriculum the labs have spec files that allow you to see what’s expected of almost each piece of code you write. However, this project took off that life jacket and taught me that I could indeed swim.
Tasked with creating a project on our own using the tools we’ve been given. And assistance from our wonderful instructor Nancy Noyes.
The project is run in my local environment (VSCode) and has the following file structure. Bin and Lib folder.
What does the project do???
It scrapes Good Reads to find the best books for a book club. As an avid reader, I knew I wanted to have a project about books and place my business case first, even though we’re judged technically.
The Site: https://www.goodreads.com/list/show/19.Best_for_Book_Clubs

The Pieces:

- A Plan: Deciding what the project should be about, what website to scrape, and evaluating whether the website was easy to scrape.
- Local Environment Setup: VScode, Git, Git Commands, Navigating the terminal, Github Repository, and Github connection to local environment.
- Scraping: Building out the methods for Scraping, getting the data from the websites, finding the correct html and css to grab for to populate the main book Object.
- Building Connections: Installing Gems (Nokogiri, Pry, etc.), Requiring gems, and requiring files in the environment and run files.
- The Book Object: Populating this object with the necessary information in order to display the data from the object to the end user of the command line application.
How do you get this all done in one week without prior experience?
The Process:
- Fail Fast: Often shortened to “learn — f-f” in the Learn environment. Failure happened so often it needs a new name, maybe learn. Becoming accustomed to failure and pushing past the many obstacles gets to the learning area. This ties into number two.
- Ask Questions: Our Cohort lead was available twice a day. Take advantage of that and come even if you don’t have an immediate question. I ask so many questions I’m sure she remembers my name even though she deals with so many people.
- Productivity Tools: Pomodoro Technique, Motivation Playlist, Lo-Fi Hip Hop while I code, and the Forest App for my phone.
- Community: While this was the first week we were “on our own” I felt more connected to the community through our many questions.
The Takeaways
- Dive in: The water is cold. But, you’re not alone and you’ve haven’t been practicing swimming to stay on land.
- Pacing: I tried a few sprints and burned out fast. Then, I tried taking breaks and sleeping at a normal time. I was more productive those days. I was able to have a routine and see more progress in a shorter timespan. When I’m working on a project and nothing is getting done, I realized I’m JUST typing and I need to sleep. It really is a marathon. (R.I.P Nipsey Hussle)
- MVP: Done is better than perfect. And by the time the end of the week got closer I just wanted to be done too!
That’s a little insight into my journey and destination in this CLI Project for Flatiron School. I enjoyed the experience. I’m proud of the project I was able to put together in a week and know there’s so much more I can do. Let’s Change Things!
