This is a versatile recipe app developed with Ruby on Rails that not only allows users to browse a wide selection of recipes but also enables them to add new recipes and ingredients. The app includes a budget feature that shows the estimated cost of each recipe based on the ingredients used, making it easy for users.
The Recipe app keeps track of all your recipes, ingredients, and inventory. It will allow you to save ingredients, keep track of what you have, create recipes, and generate a shopping list based on what you have and what you are missing from a recipe.
Interfaces
A login page.
A registration page.
A food list (with all CRUD implementation, except for 'update').
A recipe list (with all CRUD implementation, except for 'update').
A general shopping list view (all missing food for all your recipes and total price).
A list of all public recipes from other users with their names and total prices.
Project requirements
Followed the layout of the wireframes provided. Personalized the rest of the design including colors, typographies, spacings, etc.
Login page and registration page:
Built with Devise.
Food list:
Displays a list of food added by the logged-in user as in the wireframe and displays also quantity of a given food.
Leads to a form that allows users to add new food.
Recipes list:
Displays a list of recipes created by the logged-in user as in the wireframe.
Leads to recipe details.
If the user is the owner of the recipe, removing the recipe is allowed.
Public recipe list:
Displays a list of all public recipes ordered by the newest as in the wireframe.
Leads to recipe details.
Recipe details:
If the recipe is public or the user is the owner of the recipe, the page displays the recipe details as in the wireframe.
If the user is the owner of the recipe, there is a button that leads to the form that allows the user to add new food.
General shopping list view:
Displays the list of food that is missing for all recipes of the logged-in user (comparing the list of food for all recipes with the general food list of that user).
Counts the total food items and total price of the missing food.
Made sure there are no N+1 queries happening.
Created a navigation menu that allows users to open all of the pages inside the app.
Technical setup
Set up the repository on GitHub and use Gitflow.
Set up Devise for authentication.
P.S. The technical test setup is corrected and fixed, and some tests are added to the project, but it is not a requirement.
Description
The Recipe app keeps track of all your recipes, ingredients, and inventory. It will allow you to save ingredients, keep track of what you have, create recipes, and generate a shopping list based on what you have and what you are missing from a recipe.
Interfaces
A login page.
A registration page.
A food list (with all CRUD implementation, except for 'update').
A recipe list (with all CRUD implementation, except for 'update').
A general shopping list view (all missing food for all your recipes and total price).
A list of all public recipes from other users with their names and total prices.
Project requirements
Followed the layout of the wireframes provided. Personalized the rest of the design including colors, typographies, spacings, etc.
Login page and registration page:
Displays a list of food added by the logged-in user as in the wireframe and displays also quantity of a given food.
Leads to a form that allows users to add new food.
Displays a list of recipes created by the logged-in user as in the wireframe.
Leads to recipe details.
If the user is the owner of the recipe, removing the recipe is allowed.
Displays a list of all public recipes ordered by the newest as in the wireframe.
Leads to recipe details.
If the recipe is public or the user is the owner of the recipe, the page displays the recipe details as in the wireframe.
If the user is the owner of the recipe, there is a button that leads to the form that allows the user to add new food.
Displays the list of food that is missing for all recipes of the logged-in user (comparing the list of food for all recipes with the general food list of that user).
Counts the total food items and total price of the missing food.
Made sure there are no N+1 queries happening.
Created a navigation menu that allows users to open all of the pages inside the app.
Technical setup
Set up the repository on GitHub and use Gitflow.
Set up Devise for authentication.
P.S. The technical test setup is corrected and fixed, and some tests are added to the project, but it is not a requirement.