Rails Project

Posted by NaKia Whitby on September 13, 2019

The Background

Deciding on an idea for this project was not as difficult in comparison to past projects. I’ve always been fascinated by electronics and have amassed a nice collection of them throughout the years. From desktops to laptops, Bluetooth devices, and gaming consoles, I thought it would be a worthwhile endeavor to take inventory of the devices I own and share my thoughts and opinions of each device along with other collectors.

As for technical specifications, this application emphasizes RESTful routing, CRUD operations, MVC architecture, and OmniAuth.

The Process

Coming up with an idea was only step one of the processes and proved to be the easiest aspect. I had to start and stop often and found myself researching a ton. I think I performed more Rails research than any other tool or framework I’ve learned thus far.

I decided that I would have 3 models, a user, device, and comment model. I hoped that keeping the number of models to a minimum would make for less confusion. But looking back, I can see how a 4th model would be beneficial.

To save time, I used the resource generator. I would normally generate my models, views, and controllers separately but having everything generate all at once cut down on a lot of forgetfulness and indecisiveness while programming.

For my login system, I took a brief look at Devise but decided that my project was simple enough to build out the authentication, myself, similar to the Sinatra project.

Once I got the basics of the application working I focused my attention on OmniAtuth. In the OmniAuth lab, we used Facebook as a third-party login system. To extend my practice, I also used Facebook once more within my application.

As for styling, I wanted to keep it simple. I prefer minimalistic/clean designs but didn’t want to leave it completely barebones. I thought this would be a good time to learn a little more about Bootstrap. I didn’t get carried away with the Bootstrap styles but I discovered how awesome it can be for a quick navbar and displaying pre-styled error messages in the views.

Final Thoughts

Rails is an excellent user-friendly framework and a nice compliment to Ruby. It’s designed in such a way that someone with very little experiences (like myself) could get a site up and running in no time thanks to its “convention over configuration” paradigm. I look forward to becoming way more comfortable with Rails through refactoring and expanding the features and functionalities of my application.