# Meal Planner

## Description
Meal planning is hard. You have to come up with what to make based on what is in your pantry, make it to the store, and then keep track of all of the different ways to prepare the food. The meal planner application allows users to create their own library of recipes and plan meals for the week using existing recipes (and ingredients).

## Project details
- Category: General
- Difficulty: 
- Suggested stack: Not specified
- Approval status: Approved

## Target users
### Users of this application include

### * anonymous users

### * registered users (meal planners)

## Tags
MVP, Notes, Optional

## User Stories
### Create User
As a new user I can create an account so that I can start adding recipes and creating meal plans.

### Log In
As a user of the meal planning application, I can “log in” so that I access my account data.

### Add Recipe to Library
As a user I can add a recipe to my library of recipes so that it can be added to a meal plan.  

A recipe consists of a list of ingredients and preparation instructions.

### Add Ingredient
As a user I can add ingredients to the system if my expected ingredient is not shown.

### View My Recipes
As a user, I can view a list of recipes I previously saved so that I can find one to view its details or edit it.

### View Recipe Details
As a user, I can view a recipe while I’m cooking so that it’s easier to prepare it correctly.

### Modify a Recipe
As a user, I can update a recipe I saved previously by adding or removing ingredients or modifying the preparation instructions.

### Create Meal Plan
As a user, I can create a new meal plan so that I can add meals to the plan.

### Add Meal to Plan
I can add a meal to a meal plan.  A “meal” is made up of one or more recipes chosen from my library of saved recipes.  For instance, a main dish and a couple side dishes.

### View My Meal Plans
As a user, I can view a list of meal plans I previously saved so that I can find one in order to edit or view it.

### View Meal Plan Details
As a user, I can view a meal plan in order to decide whether I want to use it this week.

### Modify a Meal Plan
As a user, I can update a meal plan I saved previously in case I made a mistake wish to change or add a meal.

### Grocery List
As a user, I can view and print a grocery list of all ingredients required for the meals in my meal plan so that it is easy to buy what I need and I don’t forget anything.

### Random Meal Plan
As a user, I can choose to let the system add one or more randomly selected meals to my meal plan so that I don’t need to spend too much effort planning what to eat.

### Share Recipes
As a user, I can share my recipes with other users and add recipes shared by others to my library.

### Print a Recipe
As a user, I can print a recipe so that I have a hard copy at hand while cooking.

### Print a Meal Plan
As a user, I can print a meal plan so that I can display it in a location for my full family to see what we are eating this week.

### Search for Recipes by Ingredient
As a user, I can search for recipes that contain a certain ingredient in case I have a taste for something in particular, a particular ingredient is in season, or I have something in the pantry that I want to use.

### Search for Recipes by Category
As a user, I can search for recipes that are in a particular category such as “healthy” if I’m trying to improve my eating habits or “special occasion” if I’m planning a special meal.
