For my Rails project I decided to create a Recipe Manager, which allows a user to create their own recipes and share them with other users. Users can search for recipes that interest them and then leave comments on how they feel about a specific one. I really liked this project on a personal level because I really enjoy cooking and trying out new recipes. What was interesting about this project was how similar it was to the previous Sinatra project. Rails and Sinatra I are extremely similar in terms of syntax. The only difference that confused me where the routes, in Sinatra the routes are built more manually. While in Rails routes are built less manually which for me at least made it a little harder to solve problems with routes. Although on the other hand it was nice to be able to build routes quicker.
During the project one of the toughest parts was the ingredient and ingredients quantities parts of the recipe. At first I added it to the recipes table , but then ran a problem because they were not being created and were not showing up on the show page. I had to go back and remove it from the recipes table; then making them attribute accessors so they can be printed properly on the page. My cohort lead and I played around with the create method until we found a solution.
So what we decided the best way to get the ingredients and their quantities to show on the page was to make them attribute accessors. Then to iterate through the ingredients array to get the information we wanted. This ended up being successful, it was a problem that took a few days to solve.
My favorite part of the project to install was the Navbar, I think it makes navigating the app and user experience a lot better. It is really nice that it is constantly on the top of the page. This was something I always wanted to install, it was really cool when it came to fruition.
This was very exciting, I liked the layout of this particular navbar because of its simplicity. In the future I will definitely try to implement one that is more complex and with more features. This navbar only had a home button, a dropdown with two tabs — Create Recipe and My Recipe, a search area, and a logout button.
The Omniauth feature with signing in with Google was a very interesting, but tedious task. There were many steps and little things I had to do in order to get it to function properly. There are a lot of little details that if not looked into, those little mistakes will mess up the process of logging in. I needed some help from the weekly office hours and found that a very minor mistake was the reason that my SignIn with Google wasn’t working correctly.