[x] You should follow the layout of the wireframes provided. You should personalize the rest of the design including colors, typographies, spacings, etc.
[x] Login page and registration page:
[x] Should be built with Devise.
[x] Food list (only for a group that has less than 3 members):
[x] Should display a list of food added by the logged-in user as in the wireframe (display also quantity of a given food).
[x] Should lead to a form that allows users to add new food.
[x] Recipes list:
[x] Should display a list of recipes created by the logged-in user as in the wireframe.
[x] Should lead to recipe details.
[x] If the user is the owner of the recipe, should allow the user to delete it.
[x] Public recipe list:
[x] Should display a list of all public recipes ordered by newest as in the wireframe.
[x] Should lead to recipe details.
[x] Recipe details:
[x] Should display a toggle button that allows for a recipe to be made public or private.
[x] If the recipe is public or the user is the owner of the recipe, should display the recipe details as in the wireframe.
[x] If the user is the owner of the recipe, should lead to the form that allows the user to add new food.
[x] General shopping list view (only for a group that has less than 3 members):
[x] Should show the list of food that is missing for all recipes of the logged-in user (compare the list of food for all recipes with the general food list of that user).
[x] Should count the total food items and total price of the missing food.
[x] Make sure there are no N+1 queries happening.
[x] Create a navigation menu that allows users to open all of the pages you created.
Following tasks were implemented in this PR.