It’s Sinatra Time

Daniel Gould
2 min readSep 18, 2020

First of all, how cool of a name is that for a Ruby framework. Sinatra?! What would Frank think of this name? Anyway, I digress…

This was an exciting project for me. It finally felt like all the pieces were really coming together in terms of what we’ve learned so far. Up until now, we’ve been primarily learning about Object-Oriented Programming, working with databases, Active Record, and the hypothetical scenarios(labs) where you would apply this knowledge to the software. The Sinatra project was our first real chance, to develop our own app and see it on the browser. Going from the theoretical to using the knowledge in practice, was an eye-opening experience that just fueled my desire to keep on building apps and learning more.

Ok, now for the project. The idea was to create a kind of “tech checklist” where a user could sign in, design their own personal checklist of tech companies that they would want to work for, and the computer languages they would need to learn in order to apply to those places. Ever since I started this boot-camp I found myself constantly researching tech companies that I was interested in to see what languages they used, and how I stacked up in terms of my own knowledge. This app was a chance to kind of consolidate all of the information into one place and give the user a chance to create a checklist to keep track of their progress. The app is called “TechCheck”.

The execution of this app, started pretty smoothly. I tried to keep it simple at first. Developing a simple association of a User having many computer languages and computer languages belonging to a User. In hindsight, this was actually my first mistake. I knew that I was going to want to make my app more robust and be able to take on another data set of tech companies, but my plan was to keep it simple at first. If I could do it again, I would develop all of my desired relationships at the start of the project. That way I could have the building blocks in the beginning. Instead, I eventually made my project more complicated by developing many to many relationships with languages and companies, and then with users and companies. This involved creating new tables plus two new join tables late in the game. My head was spinning with all of these relationships. Eventually, though, after some long nights of coding, I developed a pretty strong app that I’m proud of.

Check it here to see the code! https://github.com/Dmg5th/TechCheck-

--

--