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.