Tips for CLI Project w/Memes

Posted by ChiEn Leow on May 11, 2020

Are you stuck while planning your CLI Project? Are you feeling clueless like I was? These are a few tips that got me through the process (ps. memes included for a good laugh).

1. Start with Planning

gif

  • Writing a user story and mapping out a flow diagram
  • Sketch out your program in English in a text file, then “translate” to Ruby language later on
  • Consulting your notes along the way, it helps keeping you focus

2. Write the Code You Wish You Had

gif

  • Start somewhere, even if it is just pseudo-coding
  • That first step takes a lot of courage, it is normal to feel unprepared and lost
  • Things start making sense when I begin building

3. Make Mistakes (Errors)

  • Get your brain running and do not be afraid to make errors
  • Tech is such a unique space where you are encouraged to make errors first, then go from there
  • It is when you start building, you see what you DO know and what you DON’T know.

4. Think Separation of Concerns

  • Create the skeleton of the project first (Classes), big picture, then fill in the actual data later on (while you wait for your API key etc)
  • Class CLI - the controller that communicates with my user
  • Class Object (in my case, its “Category” and “Listing”) - where objects are created and stored for user display/usage
  • Class API - bring in the external API here, instantiate my objects

5. Reach Out & Befriend Someone

  • Reach out for help, join slack channel #cli-data-gem-project, there is no such thing as a silly question
  • Go to study groups/office hours organized by section leads
  • Be open to others refactoring your code, it is part of the learning process

6. Have LOTS of fun!

  • Make this app your own, have some fun with it, I feel empowered when I got to customize my very own app
  • I used the colorize gem, not only it helps readability, I had lots of fun adding colors to the lines I display to my user, think about user experience

A little backstory about my CLI app. When I was brainstorming ideas for my first ever coding project, I thought why not create something that I am passionate about? So I can talk about it during my interviews. With my previous experience in the e-commerce industry, I am aware of the reality that e-commerce is growing rapidly in the past few years and will continue developing. I am keen to provide an e-commerce app for eBay with easy navigation and reliable information that will benefit the e-commerce sellers especially small business owners.

Last but not least, I couldn’t be more thankful for the instructors and the fellow Flatiron students, I wouldn’t survive till my first project without the kindness and patience of your guidance and advice. :)