Moving on up to Sinatra

Posted by Bryce Whittington on August 14, 2020

How the topic came about

As we were learning about ActiveRecord, and table relationships within a database- and then moving on to Sinatra- I was worried how I was going to come up with a project idea that would have both a has_many and belongs_to relationship. As soon as project week came, it hit me- Coffee!

I’ve worked, in some capacity, in coffee for the last 8 years. It’s the job I’ve held leading up to starting with Flatiron School, and it’s one of the topics I’m most passionate about. There are so many directions to go within the coffee world, like roasting, farming, scoring, brewing, running a shop as a business, philanthropy, you name it. I’ve dabbled in a little bit of every one of those cateogries, so I feel confident in what I’m about to say: there isn’t a website or app for coffee lovers to keep track of different coffees they’ve tried around the world.

Enter Coffee Club. Think Untappd if you’re a beer drinker. What if I want to know more about coffee beans my fellow coffee lovers are drinking, and if they’d recommend those beans to anyone else? My project (via Sinatra) allows users (has may coffees) to keep track of coffees (belongs to users) they’ve tried, and share them for other users to check out.

What went well

I received good feedback on the blog for my first project, where I explained what I learned through the project. This time, I saw a much more practical use for ruby code in the form of Sinatra and ActiveRecord. By using the MVC format, this project felt like the culmination of so many ActiveRecord and Sinatra lessons working together. I also had to fight with my migrations and rollbacks a little bit, which ultimately gave me a better understanding of how to manipulate databases.

Where I struggled

This one is easy for me. I was able to create the MVC structure pretty early after starting my project. What really tripped me up was the HTML and CSS. I haven’t yet done the bonus lessons for those two things, so I spent a significant amount of time on them (and even at the time of this blog, I don’t think I’m done with the CSS so far). I used https://bulma.io/ for my CSS formatting, and I highly recommend it for beginners like me. I felt like I was able to figure out the majority of the HTML code on my own, but I was completely lost with CSS. Bulma gave me a really nice building block with examples for any kind of customization displayed neatly in categories in the documentation.

Overall, this project made me feel like I was making a real website. Obviously my project is only local, and there’s still a long way to go. But (similarly to my feelings after the CLI project) I feel much more comfortable with the topics we’ve covered in lessons and lectures up to this point.