My First Rails Project

Matt Trimner
2 min readNov 14, 2020

This last week, I created my first project with Ruby on Rails. I was excited to finally start developing an initial version of a piece of software that could eventually be used by many. It was also a chance for me to really dig deep into rails and see where it excelled and where it was limited.

The app I decided to go with was a Diet Coaching app. A user would sign up and fill out a questionnaire that would collect physical details about the user such as age, sex, current weight along with lifestyle factors such as the type of job(how much energy it required), physical goals(lose fat, build muscle, etc), their diet timeline…you get that the picture.

It takes these parameters and automatically calculates the number of calories per meal they would need to eat to reach their targeted weight by their selected date. It would also give carb/fat/and protein goals for each meal based on current evidence for the user's goal. This part was especially important because most diet apps don’t seem to base recommendations on any kind of evidence.

Throughout the project, I was constantly learning new things. Things like when to use POROs(plain old ruby objects), the difference between pass by object and pass by reference(ended up not being important for my project, but definitely important if you want something scaleable), common patterns, and some of the limitations of rails.

Overall, one of the biggest takeaways from this project was how to set a reasonable timeline. Since this was my first project with rails, I didn’t have any context for how certain features would take. I was also unaware of the limitations of rails. This caused me to spend many hours trying to find workarounds for features that would typically require javascript.

In the end, I was able to finish the project that included all the major features I had initially planned for. It included a lot of late nights and reading a TON of documentation. In fact, forcing myself to add more advanced features than our project guidelines ended up being the most rewarding part of the project. It greatly increased my knowledge of rails and made me a better developer overall.

--

--