Well, my first piece of advice when working on your CLI Data Gem project would be to code. every. day. Hopefully you are already doing this. Because they tell us to, and that it’s important. They’re obviously right. I was doing that. It was going great. Then we had our first child. Wow, talk about an amazing thing. But it suddenly made balancing life, work and school so much more difficult. At first, a day or two would sneak by without coding. Then, sometimes a few days. I found myself needing to review some of the finer details of things I had already mastered. Review time means no new learning. Finding even half an hour every day to code/learn will keep you on track.
The second piece of advice? Well, I ended up coding a few different apps. The first time, as I was nearing the end, I realized that I couldn’t code it according to the project requirements because of each website’s code structure. Scratch that app, and start over. Then I created a whole new project with a different app. But although I was able to code it per the project, I was technically pulling the description from another page, not from deeper within the same page. So, that second piece of advice is to plan your project, much like Avi explains in the video tutorial. By planning the structure, user experience, and how you’ll scrape your data, you’re more likely to catch any issues that may need addressing (or that may cause you to change your app completely). I had started out that way, but somewhere in the middle I just kept on coding and changing code to meet any immediate issues that came up. I lost focus on the whole. On a positive note, I got a lot of practice in :)
Ultimately I created a gem called ‘Seattle Craft Coffee’. It provides the user with a list of the best craft coffee brewers in Seattle. The user then picks one and the app provides the detailed description of that coffee brewer. I also included the neighborhood of the coffee brewer in the initial list because I wanted the gem to be useful. I also display the name of the coffee brewer again with the description. I thought this is a small addition, but one that tells the user the correct coffee brewer’s description has been displayed. I ran into some small challenges publishing my first gem, but ultimately found answers and solutions via google. I love the ‘figuring it out’ part of coding roadblocks. Figuring it out was very gratifying! I was also excited when I looked for my gem on rubygems.org after only two days… it already had almost a hundred and fifty downloads!