User Stories - adamLovettApps/LocalPlates GitHub Wiki

User Stories

Users:

  • Sign up:

    • As an unregistered user, I should be able to sign up for an account as either a regular user or a restaurant owner.
    • I should be able to click a navigation link that will take me to a dedicated sign up page where a form will collect basic information — username, password, email address, and an optional profile photo. An option to differentiate myself as a restaurant owner will be available, and when selected will open up additional form fields that will populate the restaurant users’ restaurant table information.
    • As a regular user or restaurant owner user, a flag should be set on my account to signify which type of account I have.
  • Secure Sign In:

    • As a registered regular user or restaurant owner, I should be able to sign in using my email address and password.
  • Failed Sign In:

    • As any type of user, I should be redirected to the sign in page with an error message displayed when I input a username and password combination that do not match the database.

Restaurants:

  • Modify Restaurants:

    • As a logged in restaurant owner, I should be able to update the restaurant name, address, city, state, zip code, and phone number, add and remove photos from my restaurant page, adjust restaurant hours, add/remove/modify my restaurant menus, and hide my restaurant listing.
  • Search Restaurants:

    • As a logged in or logged out regular user, I should be able to search for restaurants by name and tags.
  • View Restaurants:

    • As a logged in or logged out regular user, I should be able to view restaurant pages, including the restaurant’s location, hours, photos, reviews, etc.

Reservations:

  • Make Reservations:

    • As a logged in regular user, I should be able to see available reservation times and make reservations at a restaurant on that restaurant’s page.
  • View Reservations:

    • As a logged in regular user, I should be able to see a list of all of my future reservations.
  • Cancel Reservations:

    • As a logged in regular user, I should be able to cancel any future reservations that I have made from my reservation display page.

Ratings/Reviews

  • Read Reviews and See Ratings:

    • As a logged in or logged out regular user, I should be able to see a restaurant’s rating and all of its reviews.
  • Rating Restaurants:

    • As a logged in regular user, I should be able to rate restaurants 1-5 stars.
    • As a logged in regular user, I should be able to change my rating of a restaurant.
  • Reviewing Restaurants:

    • As a logged in regular user, I should be able to write a review of a restaurant.
    • As a logged in regular user, I should be able to edit my reviews of restaurants.
    • As a logged in regular user, I should be able to delete my reviews of restaurants.

Favorites:

  • Adding Favorites:

    • As a logged in regular user, I should be able to favorite restaurants.
  • Removing Favorites:

    • As a logged in regular user, I should be able to unfavorite restaurants.
  • Viewing Favorites:

    • As a logged in regular user, I should be able to see a list of all my favorite restaurants displayed as info cards.

Discover/Explore:

  • Discovering Restaurants:
    • As a logged in or logged out regular user, I should be able to browse for restaurants within a user-supplied mileage radius of my location or another location of my choosing, by zip code.
    • As a logged in or logged out regular user, I should be able to filter restaurants in my search radius by cuisine tag.

Tags:

  • Adding Tags:

    • As a logged in restaurant owner user, I should be able to add tags to my restaurant.
  • Removing Tags:

    • As a logged in restaurant owner user, I should be able to remove tags from my restaurant.
  • Browse by Tags:

    • As a logged in or logged out regular user, I should be able to supply tags to limit my results when I browse restaurants.