User Stories - alexsmaldone/good-game-guides GitHub Wiki
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 /signup page:
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.
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 /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 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.
Demo User
As an unregistered and unauthorized user, I would like an easy to find and clear 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.
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 log out confirmation and links to the Home page or to Sign in again.
So that I can easily log out to keep my information secure.
Homepage
As an unregistered and unauthorized user, I want to be able to view all the game guides.
When I'm on the / page:
I can browse all the game guides available.
So that I can find game guides that interest me.
As a logged in user, I want to be able to view all the game guides.
When I'm on the / page:
I can browse all the game guides available.
So that I can find game guides that interest me and interact with them.
A a logged in user, I want to be able to preview the guides I have already put in my "currently playing" and "want to play" shelves.
When I'm on the / page:
I can see the icons of the guides and click on them.
So I can easily go to a certain guide to update its status or leave a review.
As a logged in user, I want to be able to preview all of my shelves.
When I'm on the / page:
I can see the total number of guides in each of my shelves and click on a shelf.
So that I view an overview of the progress I've made in guides I've found and completed.
So that I can quickly navigate to a specific shelf to interact with the guides within it.
Game Guides
Viewing a Game Guide
As a logged in user, I want to be able to view a game guide.
When I'm on the /game-guides/:id page:
I can see all the information on a specific game guide.
So that I can make a decision on whether or not I want to play along with this guide or to determine if I have already played along with this guide.
Updating Game Guide
As a logged in user, I want to be able to update the status of a game guide.
When I'm on the /game-guides/:id page:
I can select on a dropdown menu to update the play status of a game guide.
So that I can organize and keep track of the guides I want to interact with
later.
As a logged in user, I want to be able to put a guide in my custom shelves.
When I'm on the /game-guides/:id page:
I can select on a dropdown menu to add a game guide to a custom shelf.
So that I can organize and keep track of the guides I want to interact with later.
Removing Game Guide
As a logged in user, I want to be able to remove a guide from my shelves.
When I'm on the /game-guides/:id page:
I can click a remove button to completely remove the guide from my shelves and related reviews
So that when I realize I added the wrong guide I can easily remove it.
My Game Guides
Viewing Shelves
As a logged in user I want to be able to view all my game guides I've collected.
When I'm on the /my-game-guides page:
I can view all the games I've added to my shelves.
So that I can easily find guides I'm looking for.
As a logged in user I want to be able to view guides on their specified shelves.
When I'm on the /my-game-guides/status-shelves/:id or /my-game-guides/custom-shelves/:id page:
I can view the games I've placed into said shelf.
So that I can easily find guides I'm looking for to leave a review or put it in a different shelf.
Creating Custom Shelves
As a logged in user I want to be able to create custom shelves.
When I'm on the /my-game-guides page:
I can click "Add shelf" to create a custom shelf.
So that I can organize guides in my preferred way.
Updating Custom Shelves
As a logged in user I want to be able to edit my custom shelf names.
When I'm on the /my-game-guides/custom-shelves/edit page:
I can click "Rename" to change the name of the shelf.
So that I can organize guides in my preferred way.
Removing Guides from Shelves
As a logged in user I want to be able to remove guides from my custom shelves.
When I'm on the /my-game-guides/custom-shelves/:id:
I can select the 'X' button to remove the guide from the shelf.
So that I no longer have to view that guide in this particular shelf.
As a logged in user I want to be able to remove a guide from my game guides completely.
When I'm on the /my-game-guides/status-shelves/:id:
I can select the 'X' button to remove the guide and my reviews for that guide from the shelf.
So that I no longer have that guide associated with my account.
Deleting Custom Shelves
As a logged in user I want to be able to remove custom shelves.
When I'm on the /my-game-guides/custom-shelves/:id/edit page:
I can select the 'X' button to remove the shelf from my list of custom shelves.
So that I no longer can see that shelf.
Reviews
Create Reviews
As a logged in user, I want to be able to add a review on a game guide.
When I'm on the /game-guides/:id/reviews/new page:
I can click on the number of hearts I want to give the guide.
So that I can convey how good of a guide it is.
I can write my review in the text-box.
So that I can clearly express what I liked/disliked about the guide.
Read Reviews
As an unregistered and unauthorized user, I want to be able to read reviews made by registered users on a guide.
When I'm on the /game-guides/:id page:
I can scroll through the reviews associated with this guide.
So that I can make a decision on whether I should investigate this guide further.
As a logged in user, I want to be able to read reviews made by other users on a guide.
When I'm on the /game-guides/:id page:
I can scroll through the reviews associated with this guide.
So that I can make a decision on whether I should use the guide or not.
Update Reviews
As a logged in user, I want to be able to edit a review I've posted.
When I'm on the /reviews/:id/edit page:
I can see my previously selected number of hearts and adjust the rating.
So that I can update how good I think the guide is after gaining more knowledge.
I can see my previously submitted text and change it within the text-box.
So that I can accurately convey my new feelings on the guide.
Delete Reviews
As a logged in user I want to be able to remove a review I made.
When I'm on the /reviews/:id/edit page:
I can select the 'X' button to remove the review.
So that when I realize I left a review on the wrong guide, I can easily remove it.