User Stories - dhoffmann1/Rides GitHub Wiki
User Stories
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
/signuppage:- I would like to be able to enter my first name, last name, email, 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.
- When I'm on the
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
/loginpage:- 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.
- 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).
- When I'm on the
Demo User
- As an unregistered and unauthorized user, I would like an easy to find and clear button on both the
/signupand/loginpages to allow me to visit the site as a guest without signing up or logging in.- When I'm on either the
/signupor/loginpages:- 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.
- I can click on a Demo User button to log me in and allow me access as a normal user.
- When I'm on either the
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 and be redirected to a page displaying recent Rides Cars and new search options.
- So that I can easily log out to keep my information secure.
- I can log out of my account and be redirected to a page displaying recent Rides Cars and new search options.
- While on any page of the site:
Cars
Create a new Car
- As a logged in user, I want to be able to post a new Car for sale.
- When I'm on the
/users/:id/your-garagepage:- I can submit a new Car using the new car form.
- So that I can advertise my car for sale.
- I can submit a new Car using the new car form.
- When I'm on the
Viewing Cars
-
As a logged in or logged out user, I want to be able to view a selection of the most recent Cars for sale.
- When I'm on the
/cars/resultspage:- I can view the ten most recently posted cars for sale that match my search results/filters.
- So that I can read and see a list of cars that might interest me.
- I can view the ten most recently posted cars for sale that match my search results/filters.
- When I'm on the
-
As a logged in or logged out user, I want to be able to view a specific Car for sale and its associated Reviews.
- When I'm on the
/cars/:idpage:- I can view the details of the Car, as well as the associated Reviews.
- So that I can read the details of the Car, and add my own thoughts in the Reviews.
- I can view the details of the Car, as well as the associated Reviews.
- When I'm on the
-
As a logged in user, I want to be able to view my Cars for sale.
- When I'm on the
/users/:id/your-garagepage:- I can view the Cars that I have posted for sale.
- So that I can keep track of the Cars I have available for sale.
- I can view the Cars that I have posted for sale.
- When I'm on the
Updating Cars
- As a logged in user, I want to be able to edit my Cars for sale by clicking an Edit button associated with the Car.
- When I'm on the
/users/:id/your-garagepages:- I can click "Edit" to make permanent changes to Cars I have posted.
- So that I can fix any errors I make in my Cars.
- I can click "Edit" to make permanent changes to Cars I have posted.
- When I'm on the
Deleting Cars
- As a logged in user, I want to be able to delete my Cars by clicking a Delete button associated with the Car.
- When I'm on the
/users/:id/your-garagepages:- I can click "Delete" to permanently delete a Car I have posted.
- So that when I realize I no longer want to sell that Car, I can easily remove it.
- I can click "Delete" to permanently delete a Car I have posted.
- When I'm on the
Create a new Image
- As a logged in user, I want to be able to post a new Image for a Car I have available for sale.
- When I'm on the
/cars/:id/imagespage:- I can submit a new Image using the new images form.
- So that I can add images for my cars that are for sale.
- I can submit a new Image using the new images form.
- When I'm on the
Viewing Images
- As a logged in or logged out user, I want to be able to view a selection of Images for a car.
- When I'm on the
/cars/:idpage:- I can view the Images that were posted for a particular car.
- So that I can see Images of a Car that might interest me.
- I can view the Images that were posted for a particular car.
- When I'm on the
Deleting Images
- As a logged in user, I want to be able to delete my Images by clicking a Delete button associated with the Images belonging to a particular Car for sale.
- When I'm on the
/cars/:id/images, or/users/:id/carspages:- I can click "Delete" to permanently delete an Image I have posted.
- So that when I realize I no longer want to have a particular Image for a car, I can easily remove it.
- I can click "Delete" to permanently delete an Image I have posted.
- When I'm on the
Reviews
Create a new Review
- As a logged in user, I want to be able to post a new Review.
- When I'm on the
/cars/:id/reviewspage:- I can submit a new Review using the new review form.
- So that I can review cars that are for sale.
- I can submit a new Review using the new review form.
- When I'm on the
Viewing Reviews
- As a logged in or logged out user, I want to be able to view a selection of the most recent Reviews for a car.
- When I'm on the
/cars/:id/reviewspage:- I can view the ten most recently posted Reviews that match the car.
- So that I can read and see a list of Reviews that might interest me.
- I can view the ten most recently posted Reviews that match the car.
- When I'm on the
Updating Reviews
- As a logged in user, I want to be able to edit my Reviews by clicking an Edit button associated with the Review.
- When I'm on the
/cars/:id/reviewspage:- I can click "Edit" to make permanent changes to Reviews I have posted.
- So that I can fix any errors I make in my Reviews.
- I can click "Edit" to make permanent changes to Reviews I have posted.
- When I'm on the
Deleting Reviews
- As a logged in user, I want to be able to delete my Reviews by clicking a Delete button associated with the Review.
- When I'm on the
/cars/:id/reviewspage:- I can click "Delete" to permanently delete a Review I have posted.
- So that when I realize I no longer want to leave a Review for a car, I can easily remove it.
- I can click "Delete" to permanently delete a Review I have posted.
- When I'm on the
Bonus Features Below
Extra Car Features
Create Extra Features to Cars
- As a logged in user, I want to be able to add extra features to a car I have for sale.
- When I'm on the
/cars/:id/extra-featurespage:- I can add extra features to my car using the Extra Features form.
- So that I can add extra features to the car I have for sale.
- I can add extra features to my car using the Extra Features form.
- When I'm on the
Viewing Extra Features on Cars
- As a logged in or logged out user, I want to be able to view the extra features on a car.
- When I'm on the
/cars/:id/page:- I can view the extra features of a car I am interested in.
- So that I can decide if I am still interested in this particular car.
- I can view the extra features of a car I am interested in.
- When I'm on the
Deleting Extra Features from Cars
- As a logged in user, I want to be able to remove extra features from a car I have for sale.
- When I'm on the
/cars/:id/extra-featurespage:- I can remove extra features from my car using the Extra Features form.
- So that I can remove extra features from the car I have for sale.
- I can remove extra features from my car using the Extra Features form.
- When I'm on the
Saved Cars
Create a new Saved Car
- As a logged in user, I want to be able to save a Car I am interested in purchasing.
- When I'm on the
/cars/:idpage:- I can save a new Car easily by clicking a Save button.
- So that I can view it later when I am ready to purchase.
- I can save a new Car easily by clicking a Save button.
- When I'm on the
Viewing Saved Cars
- As a logged in user, I want to be able to view my selection of Saved Cars.
- When I'm on the
/users/:id/saved-carspage:- I can view the Cars I have Saved.
- So that I can do further research on them and have quick access to their details pages.
- I can view the Cars I have Saved.
- When I'm on the
Deleting Saved Cars
- As a logged in user, I want to be able to remove a Car from my selection of Saved Cars.
- When I'm on the
/users/:id/saved-carspage:- I can click "Remove" to permanently remove a Car I have previously Saved.
- So that when I realize I am no longer interested in a particular Car, I can easily remove it.
- I can click "Remove" to permanently remove a Car I have previously Saved.
- When I'm on the
Contact Seller
Contact Seller
- As a logged in user, I want to be able to contact the Seller of a Car I am interested in purchasing.
- When I'm on the
/cars/:idpage:- I can contact a seller of a Car easily by filling out a short form and clicking a "Check Availability" button.
- So that I can express my interest in purchasing the Car and be contacted by the Seller.
- I can contact a seller of a Car easily by filling out a short form and clicking a "Check Availability" button.
- When I'm on the