User Stories - Sisysphus/Meadium GitHub Wiki

Login

As an unauthorized user, I want to be able to login to the website via a form, so that I can access my private information.

Questions

  • Will the user enter a username or an email address to login?
    • User will login via email or username and password
  • What routes should we use for login?
    • User will login via /login route
  • Where should the user be redirected after login?
    • User will be redirected to the / homepage
  • Will we allow OAuth authentication via a third party?
    • Not yet -- maybe in a future story
  • What happens if the user doesn't exist yet?
    • Display the message Invalid Login please try again.
  • What happens if the user enters the wrong password?
    • Display the message Invalid Login please try again.
  • Should this story include allowing a user to reset their password?
    • Not yet -- maybe in a future story.

Demo User

As a first-time user who just wants to demo Meadium, I want to be able to try out the site with a demo user login via a single button click on the login and signup form, so that I can access Medium without having to go through the trouble of creating a new account.

Questions

  • Will the user be able to create a Story?
    • Since it is a Demo user, no.
  • Will the user be able to give Cheers?
    • Since it is a Demo user, no.
  • What routes should we use for the Demo user?
    • The Demo user will have access to the “/“ homepage.
    • The Demo user will have access to a Demo “/users/demo” profile page.
  • Will the user be able to view Stories?
    • The Demo user will be able to view Stories.
  • Will the user be able to comment on Stories?
    • Since it is a Demo user, no.
  • Will the user be able to pin a Story?
    • Since it is a Demo user, no.

User Profile Page

As a logged-in user, I want to be able to see all the stories that I created, so that I can browse through all my thoughts I shared with the other users on Medium.
As a logged-in user, I want to be able to see all the stories I pinned.
As a logged-in user, I want to see how many Cheers a Story has received.
As a logged-in user, I want to be able to see all the stories for a single user other than myself, so that I can browse through all the thoughts for the user that I'm interested in knowing more about at the moment.

Questions

  • Will the user be able to create a Story?
    • Yes, the user will be able to create a Story.
    • The story will also be saved on the users profile.
  • What routes should we use for the User Profile Page?
    • The User’s profile page will be “/users/:id” (:id - being the unique id given when signing up).
  • Will the user be able to see the Stories they pinned?
    • The user will have a section of all the stories they pinned.
  • What happens if the user has not pinned any Stories?
    • The section will be empty.
  • What happens if the user has not created any Stories?
    • The section will be empty.
  • Will the user be able to logout from their profile page?
    • Yes, the user will be have a logout button.

Acceptance Criteria

  1. Given that I am a user signed-in
    • When Im on the “/users/name” route
    • Then it should be the users page.
  2. When I refresh the page
    • Then I will still be logged in.

Give Cheers

As a logged-in user, I want to be able to give cheers, so that I can convey my appreciation for a story to all other users.

Questions

  • Will non-registered users be able to give Cheers?
    • No, only registered users will be able to give cheers.
  • What route should be used when giving Cheers to a Story?
    • The Story route “/stories/:id” will be used.

Acceptance Criteria

  1. Given that I am a user not signed up
    • When trying to give Cheers
    • Then you will be redirected to the “/signup” route.
  2. Given that I am a logged-in user
    • When I try to give Cheers
    • Then the Stories Cheers will be increased by 1.

Take back Cheers

As a logged-in user, I want to be able to take back cheers, for any reason.

Questions

  • Will non-registered users be able to take back Cheers?
    • Only registered users will be able to take back Cheers on stories they gave cheers to.
  • What route should be used when taking back Cheers?
    • The Story route “/stories/:id” will be used.

Acceptance Criteria

  1. Given that I am a user not signed up
    • When trying to give Cheers
    • Then you will be redirected to the “/signup” route.
  2. Given that I am a logged-in user
    • When I try to take back Cheers
    • Then the Stories Cheers will be decreased by 1.

Create a Comment

As a logged-in user, I want to be able to write a comment on a Story, to convey my feelings about the Story or something related to the Story.

Questions

  • Will a non-registered user be able to write a comment?
    • Only registered user can write comments.
  • Will the user have character limit for the comment?
    • Currently undecided on the character limit.
  • Can the comment be viewed by anyone and everyone?
    • The comment will be viewed by anyone and everyone.

Acceptance Criteria

  1. Given that I am a user not signed up
    • When I try to submit a comment
    • Then you will be redirected to the “/signup” route.
  2. Given that I am a logged-in user
    • When I try to submit a comment
    • Then the comment will be added to the comment section of the story.

Delete a Comment

As a logged-in user, I want to be able to delete a comment from a Story I commented on, for any reason.

Questions

  • Will a non-registered user be able to delete a comment?
    • Only registered user can delete comments they have written.
  • Will the comment be deleted for everyone?
    • Yes, the comment will be deleted from the story and will no longer exist anywhere.

Acceptance Criteria

  1. Given that I am a user not signed up
    • Then I will not be able to delete any comment.
  2. Given that I am a logged-in user
    • When I delete a comment
    • Then the comment will be removed from the Story.

See number of Cheers on a Story

As a logged-in user, I want to see Cheers on a Story, to get a general idea of how many other users enjoyed the Story.

Questions

  • Will anyone be able to see the number of Cheers on a Story?
    • Yes, anyone can see the number of Cheers on a Story.
  • Will anyone be able to give Cheers on a Story?
    • Only registered users will be able to.
    • Non-registered users will be redirected to the “/signup”.

Acceptance Criteria

  1. Given that I am a user not sign-up
    • I can see the Cheers on a story but cannot give any.
  2. Given that I am a logged-in user
    • I can see the Cheers on a story
    • I can also give Cheers.

Create a Story

As a logged-in user, I want the ability to create my own Story, to convey my thoughts and/or knowledge.

Questions

  • Will any user be able to create a Story?
    • Any registered user will have the ability to create a Story.
  • Where can you create a Story?
    • On the user’s profile, there will be a Create Story button.
  • Will anyone be able to see the Story?
    • Anyone and everyone will be able to see the story.
  • Where will Story be seen?
    • The story will be seen on the homepage and on the profile page of the user that created the Story.
  • Is there a limit to how many Stories can be created?
    • No limit to how many Stories a user can create.

Acceptance Criteria

  1. Given that I am a logged-in user
    • Then I have the ability to create a Story.
  2. When I try to create a story
    • Then the story will be posted on the main page as-well as saved on my profile page.
  3. Given that I am not a registered user
    • There will be no option to create a Story.

Editing a Story

As a logged-in user, I want to be able to edit my Stories, for any reason.

Questions

  • Will any user be able to edit a Story?
    • Any registered user that has created Stories will be able to.
  • Is there a limit to how many Stories the user can edit?
    • The user can edit any and all of their created stories.
  • Will the story be edited just on the user’s created stories?
    • No, the story will be edited everywhere it exists, whether homepage or another user’s pinned section.

Acceptance Criteria

  1. Given that I am a logged-in user
    • Then I have the ability to edit a Story I created.
  2. When I edit a story I created
    • Then it will be updated everywhere.
  3. Given that I am not a registered user
    • There will be no option to edit a Story.

Deleting a Story

As a logged-in user, I want to be able to edit my Stories, for any reason.

Questions

  • Will any user be able to delete a Story?
    • Any registered user that has created Stories will be able to.
  • Is there a limit to how many Stories can be deleted?
    • The user can delete as many Stories they want from the Stories they created.
  • Where will the Story be deleted from?
    • The user’s Story will be deleted from the homepage, the user’s created Stories section and anywhere it is pinned.

Acceptance Criteria

  1. Given that I am a logged-in user
    • Then I have the ability to delete a Story I created.
  2. When I delete a story I created
    • Then the story will be deleted everywhere.
  3. Given that I am not a registered user
    • There will be no option to delete a Story.