ruby project 002 + making reading lists with sinatra

Posted on Aug 28, 2019

former title: flatiron school portfolio project 002 + making reading lists with sinatra

it was a quick turnaround for me to build our second portfolio project, a Sinatra app that uses a whole new slew of ruby web technologies for me, including Rack, Activerecord, Rake, and bcrypt.

in brief, i built an application that behaves like a content management system in that it lets people have their own account to create a list of items to read in the future. a user can add a reading item and enter in an item’s title, url, and notes about the reading item. they can edit their items and delete their items. and that’s…pretty much it.

it’s amazing how something so simple can require so much logic to make it work, and way way more logic to make it work well.

behind the scenes i finally got to work with a framework for routing, sinatra. sinatra is a ruby domain specific language that lets you create http routes (so get, post, put, patch, delete, etc, all of the standard REST goodies) to create your application, or more specifically, manipulate web resources. these routes as i just mentioned use REST, a standard protocol (’they’ call it an ‘architectural style’), and it so so important that it’s a standard so that web browsers and other clients can understand what’s going on in an app, when you try to go to a page, submit a form, delete content, etc.

working with activerecord, it lets you use CRUD and work more closely at the database level to manipulate resources as objects in object oriented programming and then have them persist as data in a database.

i don’t have this all fully figured out yet, and i am still learning the subtle differences between these principles and technologies and how they play together. alls i knows is i learned things, so many great things!