Skip to content

User Stories

Rheannone edited this page Jan 31, 2021 · 8 revisions

Login

As an authorized user, I want to be able access my account in order to access articles.

Questions

  • What information is needed to log in?
    • email
    • password
  • Where will the user go after they log in?
    • Redirect to home page
  • Will we allow 3rd party login?
    • no
  • How do we handle if the user name is not found?
    • Deny request, display message prompting to try again or create
  • How do we handle if user enters the wrong password?
    • Deny request, display message prompting to try again or create
  • Should we use session based or token based authentication?
    • session for now since that is what we know.

Signup

As an unauthorized user, I want to be able to sign up for the website via a signup form.

  • What information is required at sign up?
    • email, display name, password
  • Will the password be confirmed at sign up?
    • Yes it will
  • Will the password be concealed?
    • yes
  • Where should the user be directed after they sign up?
    • home page
  • What happens if the user enters an email that is already in our db?
    • Display message that email is already associated with account.
    • provide link to login page
  • What happens if a user enters a user/display name that is already in our db?
    • Display a message that the username is taken. If this is your username, login here.
  • When I try to sign up with a password that doesn't meet minimum requirements? ** display error showing min password requirements
  • When I fill out a sign up form with all good details what happens?
    • seed user to db and redirect user to home page
    • Redirect user to home page where the prompt to create an account is replaced with a welcome message

Demo User

I want to test the site without creating an account so I click the Demo Login Button

  • What access will a demo user have?
    • the same behavior as a logged in user but with demo user credentials
  • To what route will the demo login button take the user?
    • redirect to the home '/'
  • What happens when a demo user tries to leave a comment?
    • Display a message that only registered users can leave a comment
  • What happens when a demo user clicks the 'like' button?
    • The like will register, demo user has 'like' permissions

Logout

 * Where is the user redirected when they click 'logout'
 * How will the user log out? 
 * where is the logout link/button(s) located? 
 * what happens to session data when someone logs out? 
 * Will user login persist after the window is closed/navigated away from? 
  • Will user login persist after the window is closed/navigated away from?
    • If we are using session-based auth, user will be automatically logged out.
  • Where is the user redirected when they click 'logout'
    • The user is redirected to either the unauth user home page.
  • What happens to session data when someone logs out?
    • When the user logs out, the session data is 'cleared' and when the user returns to the page, they are logged out.
  • How will the user log out?
    • When the user clicks the logout button, a confirmation message will be displayed with an option to yes log out or no stay logged in
  • Where is the logout link/button(s) located?
    • The logout button will replace the signin button if a user is already logged in
    • The user nav links will be located in our header near the top of the page
    • User nav links also found in footer including logout.

Stories

As an authorized I want to be able to access the stories so I can read the content

  * How do I access a larger selection of stories? 
  * How do I see the full story that I would like to read? 
  * How do I share a story a story so other people who follow me can see it too?
  * Where does a single story display? 
  • How do I access a larger selection of stories?
    • When the user reaches the end of articles displayed, additional articles display below the existing
    • The user can click nav buttons to story categories such as 'today, recommended, most liked'
  • How do I see the full story that I would like to read?
    • Clicking on the title or article snippet/img and redirect to a page displaying the full article
    • If the link to the story is displayed as a 'preview', there is an active read more link pointed toward full article
  • How do I share a story a story so other people who follow me can see it too?
    • The user must scroll to the bottom of the article so they must 'read' it before promoting it
  • Where does a single story display?
    • Full stories on displayed on individual dedicated pages

Likes

As an authorized user I would like to show appreciation for the content

  * How is the number of likes going to persist across users and sessions? 
  * What kind of request is made when a like button is clicked and where does it point? 
  * Will the like button change in appearance after it has been clicked? 
  * How do I see how many likes the post has? 
  * Can I dislike? 
  * Will likes/popularity have impact on placement of story within main page/rest of site? 
  * Can I unlike?
  * Where will others see stories I have liked? 
  * Can others see my liked stories? 
  • How is the number of likes going to persist across users and sessions?
    • Saving number of likes in database
  • What kind of request is made when a like button is clicked and where does it point?
    • POST /stories/:id/likes/like
  • What happens to the like button after it is clicked?
    • like button 'fills in', DB like count increments, display like-count increments.
  • How do I see how many likes the post has?
    • number of likes is displayed next to like icon
  • Can I dislike?
    • No, for now.
  • Will likes/popularity have impact on placement of story within main page/rest of site?
    • Yes, posts will be accessible ordered by likes.
  • Can I unlike?
    • Yes, but not dislike.
  • Can others see my liked stories?
    • Yes
  • Where will others see stories I have liked?
  • Users can see other users likes on each other's profiles.
  • Some posts organized by likes in home / discover categories.

Comments

As an authorized user, I would like to be able to comment on articles to share my opinion.

  * Where do I leave a comment?
  * Can i edit my comment after it is submitted?
  * Can I delete my comment? 
  * Can I reply to a comment?
  * How do I see other's comments?
  * Can I like a comment?
  * Do I have to be logged in to leave a comment?
  * What type of request is made when a comment is submitted?
  • Where do I leave a comment?
    • Using a form at the bottom of the article.
  • Can I edit my comment after it is submitted?
    • Yes
  • Can I delete my comment?
    • Yes
  • Can I reply to a comment?
    • Not at the moment.
  • How do I see other user's comments?
    • Comments are displayed at the bottom of the article.
  • Can I like a comment?
    • Yes
  • Do I have to be logged in to leave a comment?
    • Yes, but logged-out viewers can read comments.
  • What type of request is made when a comment is submitted?
    • POST /stories/:id/comment

Followers and Feed

As an authorized user I want to be able to follow others and see the content they like.

  * How do I find people to follow? 
  * how do i follow another user?
  * will anyone be notified if they are followed? 
  * are a user's followers displayed? 
  * How does following another user affect my feed? 
  * How do I find people to follow? 
  • How do I find people to follow?
    • Users can search for other users by exact username, for now.
    • Find users to follow from comments sections of articles.
  • how do i follow another user?
    • Usernames are links to the user's profile displaying a follow button.
  • will anyone be notified if they are followed?
    • No
  • are a user's followers displayed?
    • Yes
  • How does following another user affect my feed/UI?
    • Followed user's likes populate the discover category.