Completing the CLI gem project has been a great learning experience for me in helping to solidify the concepts I learned in the Object Oriented Ruby module. The project calls on essential knowledge of both Ruby and the Command Line Interface (CLI). The essentials include the use “if” statements, variable scopes, object instantiation, instant and method use, method return types, iteration, the use of command line, and scraping or being able to pull data from an external source. With these concepts, I was able to integrate all that was learned into this project. The project itself took me about a week to complete due to my work schedule, however there are a few tips I that helped the process of completing the project move smoothly.
- Plan! Plan! Plan!
Before starting your project, write out a plan. What you would like for your gem to do? What will my CLI look like? Which data source type will you use to pull your data? Will you be scraping your data from a website? Is the website scrape-able? Or will you be using an API to pull your data from? For my project I created a gem called Sweet Tooth, which listed the top 10 best dessert shops in Dallas. Instead of scraping my data from a website, I chose to use Yelp Fusion API to pull in restaurant data. Start from there and then everything else will follow.
- Use Your Resources
I can’t stress enough how important it is to use your resources within Learn and Slack. It took me a while to finally reach out to someone for help when I kept getting stuck on a problem. I’m just the type who tries to just figure things out on my own, usually by using Google which is another great resource, rather than being a “bother” to someone else. That is fine if you like to figure things out on your own first, but there are also technical coaches, instructors, and project leads available for a reason. To help you, especially when there are concepts that your are just not understanding, so let them assist you. There’s also Flatiron led study groups available everyday during the week, Learn Instruct which has tons of videos on every topic you can think of (e.g. How to Create a Gem), and you can use Slack to reach out to other students and project leads for help. These resources helped me so much!
- Time Management
Working full-time, being a mother and wife on top of juggling everyday life was very challenging while completing this project. However, this project taught me how to manage my time wisely. I would carve out time during my lunch breaks at work and after work to work on this project. Don’t get me wrong, there were times where I just needed to step away from the project for a little bit due to frustration for a mental break. I still made it my priority to at least work on my code even if it was just for 30 minutes on those rough days instead of not working on it at all.
Using these tips helped me tremendously throughout my project and I plan to continue using these same tips for my future projects. Happy coding! ❤️