-
Notifications
You must be signed in to change notification settings - Fork 0
User Stories
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, first name, last name, 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
- I would like to be able to enter my email, username, first name, last name, and preferred password on a clearly laid out form.
-
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 not allow me to submit until all fields pass validation.
- So that I can fix the invalid fields and attempt to submit again.
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 log-in form.
- So that I can seamlessly access the site's functionality
- When I enter invalid data on the log-in form:
- I would like the website to inform me of the validations I failed to pass, and not allow me to submit until all fields pass validation.
- So that I can fix the invalid fields and attempt to submit again.
- I would like to be able to enter my email and password on a clearly laid out form.
As an unregistered and unauthorized user, I would like an easy to find and clearly labeled button on both the /signup and /login pages to allow me to visit the site as a guest without signing up or logging in.
- When I'm on either the /signup or /login pages:
- 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.
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 and be redirected to the homepage.
- So that I can easily log out to keep my information secure.
As a registered and authenticated user, I want to be able to create a new restaurant on the site via a create restaurant form.
- When I am on /restaurants/new page:
- I would like to be able to enter all the restaurant information on a clearly laid out form.
- I would like to be directed to the newly created restaurant's page upon successful completion.
- So that I can see that the restaurant has been created.
- When I click submit with invalid form entries:
- I would like the website to inform me of the validations I failed to pass, and not allow me to submit until all fields pass validation.
- So that I can fix the invalid fields and attempt to submit again.
As an authenticated or unauthenticated user, I want to be able to search for restaurants.
- When I search for a restaurant:
- I would like to be able to input the name of a restaurant, location, or cuisine type and be redirected to a page with matching results.
- I would like to be able to optionally specify a date, time, or party size.
- So that I can see more specific results.
- When I am on the homepage or search result page:
- I would like to see a very large, prominently displayed search field.
- So that I can easily see where I can find specific results.
- I would like to see a very large, prominently displayed search field.
- When I click the search icon in the navigation bar:
- I would like a large search modal to appear over the contents of the page I was currently.
- I would enjoy if the content behind the modal was layered with transparent grey or some blur effect.
- I would like the same search fields and controls as the other search options.
- When I view the results of a search:
- I would like to see a list of restaurants ordered by rating.
- I would like to see the name, image, rating, location, and price range of each restaurant in the results.
- I want to see a list of the closest upcoming available reservation slots for each result.
- Time slots with available reservations that meet my criteria should be clickable.
- So that I can go directly to the form to make that reservation.
- Time slots with available reservations that meet my criteria should be clickable.
As an authenticated or unauthenticated user, I would like to be able to view all of the details of one specific restaurant on its own page.
- When I click on a preview card of a restaurant I want to be taken to a page with all the details for that restaurant.
- I want to see an overview of all the information of the restaurant.
- I want to see a form that allows me to find an available reservation.
- It should allow me to specify party size, date, time in my search and show me the closest available time slots to my result.
- I want to be able to see all the reviews for the restaurant at the bottom of the page.
As a user, when I click on a reservation time slot button, I want to be taken to a page where I can put in my information to make a reservation for this time.
- When I click on a reservation time slot button:
- I want the reservation page I'm taken to to automatically have that restaurant and time slot information set.
- I want to be able to enter the number of people in the party, and select an occasion or enter a special request.
- As an unauthenticated user:
- I want to be able to enter my first name, last name, phone number, and email before I make the reservation
- If any of these fields do not pass validation I want to be notified of the failing fields before the page allows me to submit.
- As an authenticated user:
- I want to not see a first or last name box
- So that the name from my account is automatically used for the reservation
- Instead, I want to see my name displayed
- I want the phone number and email fields to be filled in and uneditable if the values exist on my account.
- I want to not see a first or last name box
- When I successfully create a reservation, I would like to be given a unique link that allows me to leave a review for the visit.
- The details of the reservation that I just created should be associated with this unique link.
As a user, I want to see the ratings of restaurants and read the reviews.
- When I click reviews or scroll to the bottom on a restaurant page:
- I want to see a summary of all the reviews, showing the overall rating statistics.
- I want to see a list of all the reviews left for this restaurant.
- I only want to see reviews that have written text from the reviewer.
- It is not required, but I would like to be able to order the reviews by rating.
As a user, I want to be able to use unique review links to leave reviews for my reservations.
- When I click a unique review link given to me after I create a reservation:
- I should be taken to a form where I can fill in my ratings for each category, an optional text field for info, and what name the review should be displayed under.
- I don't want to have to input anything about which restaurant or time I went
- When I submit the review:
- I want to be thanked for my review.
- I want to be redirected to the restaurant reviews and have them sorted by new
- So I can see my newly created review
- I want the unique review link I used to be made invalid so another review can't be left.
As a user, I want the ability to favorite restaurants that I enjoy.
- When I am viewing a restaurant's page, there is a "Favorite" button on the top right of the page.
- When I click on the "Favorite" button:
- As an unauthenticated user:
- I want to be redirected to the login page so that I am able to save my favorite restaurants.
- As an authenticated user:
- I want the button to change color and the text of the button to "Favorited" to indicated that I have favorited this restaurant.
- As an unauthenticated user:
- When I click on the "Favorite" button:
As a registered and authenticated user, I want to be able to access a list of my favorite restaurants
- When on any page:
- I would like to be able to access my favorites via an option on a drop down menu in the navigation bar.
- So that when clicked, I am redirected to a list of my favorite restaurants.
- I would like to be able to access my favorites via an option on a drop down menu in the navigation bar.