For my 3rd portfolio project (Ruby on Rails) I decided to make an application for LEGO Master Builders to share the sets that they have built. Initially I was having difficulty coming up with a project topic that would satisfy the project criteria, specifically the “join table” requirement. While contemplating ideas I looked around my office and saw my X-Wing Fighter LEGO set, and was struck with the idea.
While the app itself may be very simple in nature, it was perfect for giving me an environment in which to practice and sharpen my Rails skills. Setting up OAuth with Google was one of my favorite components to build, not because it was particularly difficult, but because giving an application support for Google based log felt like something that I will eventually encounter in a job scenario. This felt like taking another step towards becoming a software engineer.
Several of the project requirements were similar to the requirements on the Sinatra project, and as such I didn’t find them to be particularly difficult. However, having to reconstruct functionality that was similar to a previous project was a good test on both my ability to recall previous lessons learned, and also applying those lessons learned in a new framework (Rails vs Sinatra. The project requirements surrounding nested routes were the most challenging, but also felt the most rewarding to design and implement. Additionally, though it wasn’t a requirement of the project, I decided to include a nested form as well so as to get practice implementing everything I had learned in the Rails section of the course.
Ultimately the process of building out a functioning Rails application was challenging, rewarding, and forced me to call upon concepts from the entire course (so far). Completing the project has given me a lot of confidence in my ability and provided me with several ideas for personal side projects that I would like to work on to improve my skills and enhance my portfolio. I am looking forward to taking on said side projects for many reasons, but one of the biggest ones is that I didn’t do much in the way of formatting for my project, and it is an area that I would like to practice and improve upon. Every lesson learned and every project completed is another step closer towards my goal of being a software engineer and fulfilling my childhood dream.