Sinatra Portfolio Project Prep

Posted by Ryan Evans on April 1, 2018

Repetition was the theme in this section. By the end, when you reach the Sinatra portfolio project you’ve had plenty of pratice in creating dynamic web applications (with SQLite, Rack, Sinatra and ActiveRecord). Practicing those back and forth routes and views with the needed information to create, read, update and delete (CRUD) data is what almost makes you feel like you haven’t learned anything new when you get to your Sinatra project.

In fact, when I embarked on my project I went back and reviewed a lot of the material in the section, I thought that maybe I had forgotten about an important concept. I was relieved to find that the material did indeed include some repetition of similar concepts (I hadn’t forgotten something big!) and that’s why it felt familiar. Mainly, I noticed that I had written the basics of models, views and controllers several times. The main differences were the details that were specific to the app I was working on, like the model relationships. So it was both straightforward and difficult working on my Sinatra project. I had already written plenty of code that I could reference for my project. But the details and refactoring of code is what took a lot more time to get right. Although I planned for this project (and the CLI project, too), I think I can improve how I plan for the next project. Having a more specific outline or mockup that can be used to plan the flow through the app will help reduce the amount of refactoring during your project.

I spent a lot of my time working out the details and refactoring to get the flow of the app correct, something I wish I would’ve planned better for. So for the next project, I’ll be spending much more time planning and mocking up the final product before I ever open the computer.