Repository navigation
User Stories
Bryan Thompson edited this page Feb 25, 2024
·
9 revisions
- 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 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.
- When I'm on the
- 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
- 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
- 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 home page.
- So that I can easily log out to keep my information secure.
- I can log out of my account and be redirected to the home page.
- While on any page of the site:
- As a logged in user on any page, I can create a project by clicking the "Start a Project" link on the left of the top nav bar
- On /projects/new page, I should see a form with fields for my project's title, subtitle, category, location, story, risks, a file upload for a image, a funding goal, and an end date
- If there are errors, the form will give me error messages to let me know what needs to be addressed
- On submitting the form, I'll be redirected to the new project's details page
-
From the landing page as a logged in or not user, I want to be able to view all of the projects.
- When I'm on the /all page, I should see all of the projects
- When I'm on a category's page, I should see all of the projects that belong to that category
-
From all projects or the category's projects, I can click on a project to get get the details of that project
- When I'm on the /projects/:projectId page, I can view the details of the project as well as the associated comments, and a link to view rewards (if project owner) or to back the project to view rewards if not the owner.
- As the project owner, I can see buttons to add or view rewards, and buttons to update or delete the project
- As a logged in user, I can leave a comment
- !!!BONUS!!! - As a logged in user who is not the owner, I can see buttons to like and unlike the project
-
As a logged in user, I should see a backed projects link in my user dropdown
- On the /projects/backed-projects page, I should see a list of all the projects that I have backed
-
As a logged in user, I should see a created projects link in my user dropdown
- On the /projects/created-projects page, I should see a list of all the projects that I have created
- As the owner of the project, I should see a button on the project's details page and on the /projects/created-projects page to update the project
- On the /projects/:projectId/edit page, I should a pre-filled form with fields for my project's title, subtitle, category, location, story, risks, a file upload for a image, a funding goal, and an end date
- If there are errors, the form will give me error messages to let me know what needs to be addressed
- On submitting the form, I'll be redirected to the edited project's details page
- As the owner of the project, I should a button on the project's details page and on the /projects/created-projects page to delete the project
- When I click the delete project button, I will see a modal pop up asking me to confirm
- When I click delete, I should redirect back to the /projects/created-projects page
- When I click cancel, the model should close with no changes being made
- As the logged in user, on the project detail's comments page, I should be able to click "Add Comment" and an add a textarea will appear
- When I click Submit button, the textarea will be replaced with my new comment will be on the project's details page
- If there are errors in the comment form, they will be displayed when I try to submit the comment, the form data will persist, but not submit
- If I click cancel, it will disappear with no changes made
- !!!BONUS!!! - Can only add comments if user is a backer of the project, or the project owner
- As a user, logged in or not, I should be able to view the comments on a project's details page
- As the owner of the comment, I should be able to click a delete button and get a modal asking for confirmation
- When I click delete, the comment should be removed and no longer on the project detail's page
- When I click cancel, the model should close with no changes being made
- As the project owner, on the project details rewards page, I should see a button to add rewards to that project
- On the /projects/:projectId/rewards/new page, I should see a form with name, description, a file upload for an image, amount, estimated delivery date, and quantity available fields.
- If there are errors, the form will give me error messages to let me know what needs to be addressed
- On submitting the form, I'll be redirected to the new project's reward page, with new reward being displayed
- As any user, I should be able to view the project's rewards on the project rewards page
- I can get there by clicking
Back This Projectif not the project owner, orView Rewardsif I am the project owner
- I can get there by clicking
- As the project owner, on the project details rewards page, I should see a button next to each reward to update that specific reward
- On the /projects/:projectId/rewards/:rewardId/edit page, I should see a prepopulated form with name, description, a file upload for an image, amount, estimated delivery date, and quantity available fields filled out with current values.
- If there are errors, the form will give me error messages to let me know what needs to be addressed
- On submitting the form, I'll be redirected to the new project's reward page, with new reward being displayed
- As the project owner, on the project details rewards page, I should see a button next to each reward to delete that specific reward
- When I click the delete button, a modal should pop up asking for confirmation
- When I click confirm, the reward should be removed and no longer on the project details reward's page
- When I click cancel, the model should close with no changes being made
-
As a logged in user, I should see a backed projects link in my user dropdown
- On the /projects/backed-projects page, I should see a list of all the projects that I have backed
-
As any user, I should see a count of the backers on that project's details page
- As a logged in user, but not the owner, I should see a "Back This Project" button in the project stats, and the secondary sticky nav
- When clicking the "Back This Project" button, I should be navigated to /projects/:projectId/rewards
- From there I can pick the reward level I want to back the project at
- When I click the "Pledge" button, a modal will pop up, asking for confirmation
- When I confirm, this project will be added to my backed projects, and I will be redirected to the project
- When I cancel, the model should close with no changes being made
- As a backer for a project, I should see a "Update My Pledge" button on a project's details page
- When I click "Update My Pledge", I should be navigated to the projects details rewards page
- When I click on the specific reward's "Pledge" button, a modal will pop up asking for confirmation to Update Pledge
- When I confirm, my backing level will be updated, and I will be redirected to the project
- When I cancel, the model should close with no changes being made
- When I click on the specific reward's "Pledge" button, a modal will pop up asking for confirmation to Update Pledge
- When I click "Update My Pledge", I should be navigated to the projects details rewards page
- As a backer for a project, I should see a "Delete My Pledge" button on the /projects/backed-projects page for each project listed
- When I click "Delete My Pledge", a modal will pop up asking for confirmation to Delete My Pledge
- When I confirm, my backing will be deleted, and I will still on the backed projects page with the project gone
- When I cancel, the model should close with no changes being made
- When I click "Delete My Pledge", a modal will pop up asking for confirmation to Delete My Pledge