DEV Community

emi kojima
emi kojima

Posted on

My First CLI Project - 46 Books to Read by WOC

My First CLI Project - 46 Books to Read by WOC in 2018

At the onset of this project, students are asked to fill out a Project Ideation Form and submit it for review. When I was filling out the form, I had all these grand ideas and I wanted my app to do everything (list by books, list by author, list by the month the book is to be released, list by rating) but when I got feedback about my project idea it suggested I keep it simple (or KISS - one of the design principles in programming). I am so glad that I listened to this feedback.

I began my project by watching Avi's great video, which walks you through how to create a gem using bundler (typing: bundle gem cli_app_name_of_project). I highly recommend watching this video before you begin your project. It allows you to see how Avi thinks through making a CLI Gem project and I used it as a frame of reference to begin my own.

After I used gem bundler to set up the skeleton of my project and I set up my environment so that my pry, nokigiri, open uri would work. I started the project by using pen and paper and drawing out a flowchart of what I wanted in my user to encounter.
It looked like this (but with a lot more cross-outs and squiggly lines):

GREETING --> LIST OF BOOKS--> ASK FOR INPUT (what book do you want to see more of?) --> LIST MORE INFO --> GO BACK TO LIST/ SELECT ANOTHER BOOK--> EXIT.

Then, I got to it! I began coding by writing the code that I wish I had (as Avi states multiple times in his CLI Gem Walkthrough video). I started with coding my CLI class. I coded a greeting method, then made an outline method for list_books, and so on, so I had a frame to build out from. Here's the walkthrough of my project!

This project really pushed me to think through a project from inception to completion, something I hadn't done yet, and WOW, did I learn a whole lot!

Top comments (0)