Rosemary & Sage

Table of Contents

Overview and Project Goals

Rosemary & Sage is an application built in week 8 of Turing School of Software and Design. The goal of this paired project was to build an application where users can view a collection of recipes, search for recipe by name, tag, and ingredient, and add favorites or recipes to cook.

Learning Goals

To solidify and demonstrate the understanding of:

  • Creating a robust testing suite using TDD
  • Using ES6 syntax to create and interact with JavaScript classes
  • Utilizing object and array prototype methods to perform data manipulation
  • Implementing responsive layout
  • Making network requests to API endpoints to retrieve and manipulate data

Functionality

  • Upon opening the application, user is greeted and will see all recipes displayed. User may click on any recipe for more details such as instructions, ingredients, and cost of ingredients: Main Page

  • User is able to add a recipe to favorites or to a list or recipes to cook, either on the detailed recipe section, or on the main page. User may then click on My Favorite Recipes or My Recipes to Cook to view their saved recipes: Favorite/To Cook

  • User may also search for a recipe by name or by ingredient. They may also filter by recipe type and can clear these filters to see all recipes displayed: Search/Filter

Future Additions

  • User login functionality to save favorite recipes to local storage
  • User Pantry functionality to determine whether a user's pantry has enough ingredients to cook a recipe or what they need to add to their grocery list
  • Create a Recipe form for user to create their own recipe and save it to the list of recipes
  • Share Recipe option to share a recipe to social media or email to a friend

Back to top

Instructions for Running Project Locally

  1. Clone down this repository
  2. cd into the repository in your terminal
  3. Run npm install to install all dependencies
  4. Run npm start and visit localhost:8080

Want to contribute?

If you would like to contribute, please fork this repository and clone it down to your local machine. Once you've successfully implemented the changes in code necessary for your intended contribution without changing any of the current functionality of main, submit a pull request for author to review the changes.

Technologies Used

  • HTML
  • CSS
  • JavaScript
  • Webpack
  • ESLint
  • Mocha
  • Chai

Contributors

Authors

Project Manager


Back to top