User Stories - khz538/cookbook GitHub Wiki

Users

Sign Up

  • As an unregistered and unauthorized user, I want to be able to sign up for the website via a sign-up form.
    • When I'm on the /signup page:
      • I would like to be able to enter my email, username, and preferred password on a clearly laid out form.
      • I would like the website to log me in upon successful completion of the sign-up form.
        • So that I can seamlessly access the site's functionality
    • When I enter invalid data on the sign-up form:
      • I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
      • So that I can try again without needing to refill forms I entered valid data into.

Log in

  • As a registered and unauthorized user, I want to be able to log in to the website via a log-in form.
    • When I'm on the /login page:
      • I would like to be able to enter my email and password on a clearly laid out form.
      • I would like the website to log me in upon successful completion of the lob-up form.
        • So that I can seamlessly access the site's functionality
    • When I enter invalid data on the log-up form:
      • I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
        • So that I can try again without needing to refill forms I entered valid data into.

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find and clear button to allow me to enjoy all features of the site as a guest without signing up.
    • I can click on a Demo User button to log me in and allow me access as a normal user.
      • So that I can test the site's features and functionality without needing to stop and enter credentials.

Log Out

  • As a logged in user, I want to log out via an easy to find log out button on the navigation bar.
    • While on any page of the site:
      • I can log out of my account
        • So that I can keep my account secure

Recipes

Add a Recipe

When I'm on the /recipes/new page, I can add and list a new recipe so others can view it

Viewing Recipes

When I'm on the home / page, I can see all the recipes available on the site. When I'm on the /recipes/:recipeId page, I can see the recipe along with its rating and notes.

Updating & Deleting Recipes

As the author of a recipe, I can edit or delete my recipe through clicking a button on the /recipes/:recipeId page

Ratings

Add a Rating

When logged in, I can add a rating to a recipe on the recipe detail page by clicking the number stars I want to assign it

View rating

On the recipe detail page, I can see a rating I've submitted by the number of stars showing under the Rate Recipe box I can also see the mean rating of that recipe if ratings for it exist. If not, then the mean rating will not be rendered as there is none.

Edit Rating

On the recipe detail page, I can edit a rating by again clicking the star amount I want to assign that recipe

Delete Rating

On the recipe detail page, there will be a remove rating button if I have already submitted one that I can click to remove it

Notes

Add a note

When on the /recipes/:recipeId page, I can add a note to that recipe when I'm logged in

View a note

I can view a note on the /recipes/:recipeId page

Update & Deleting a note

I can update or delete a note on the /recipes/:recipeId page by clicking an Edit or Delete button on a note I've posted

Grocery List

Add to the Grocery List

When logged in, I can add the ingredients of a recipe to my grocery list on the /recipes/:recipeId page by clicking a button that says "Add to Grocery List"

View my Grocery List

When logged in, I can view my grocery list by navigating to the /my-grocery-list page by clicking a button in the navigation bar

Update & Delete Items in the Grocery List

When logged in, I can edit and remove items from my grocery list on the /my-grocery-list page by changing quantities and clicking delete buttons

Recipe Box

Add to the Recipe Box

When logged in, I can add a recipe to my recipe box on the /recipes/:recipeId page by clicking a button that says "Save to Recipe Box"

View my Recipe Box

When logged in, I can view my recipe box by navigating to the /my-recipe-box page by clicking a button in the navigation bar

Update & Delete Items in the Recipe Box

When logged in, I can edit and remove items from my recipe box on the /my-recipe-box page by clicking Edit and Delete buttons

Search

Users can search keywords in the search bar at the top of each screen to query for specific recipes