Skip to content

User Stories

Michael Jensen edited this page Oct 30, 2020 · 33 revisions

Login

As an unauthorized user, I want to login, so that I can access my profile, create stories, like stories, comment on stories, follow other profiles.

Questions

  • Will the user enter a username or an email address to login?
    • User will login via email 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 without header
  • What happens if the user doesn't exist yet?
    • Displays the message "Please enter a valid login"
  • What happens if the user enters the wrong password?
    • Displays the message "Please enter a valid login"
  • Should this story include allowing a user to reset their password?
    • Not yet, maybe, possibly if we have time
  • Should logging in use session-based or use token-based authentication?
    • Session-based authentication

Acceptance Criteria

  1. Given that I'm a logged-out user and
    • When I'm on the /login route
    • Then there will be a login form with an email and password field and a "Login" button to submit the form.
  2. When I try to fill out the form with an invalid email and password combination and press Enter or press the "Login" button
    • Then at the top of the form, I will see a red message Invalid Login :( please try again.
  3. When I try to fill out the form with an email that doesn't exist in the system and press Enter or press the "Login" button
    • Then at the top of the form, I will see a red message Invalid Login :( please try again.
  4. When I try to fill out the form with a valid email and password and press press Enter or press the "Login" button
    • Then I will be redirected to the homepage at the / route.
  5. Given that I am a logged-in user
    • When I refresh the homepage at the / route
    • Then I will still be logged in
  6. Given that I am a logged-out user
    • When I try to navigate to the homepage at the / route
    • Then I will be redirected to the /login route

Signup

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

Questions

  • Will the user enter a username and an email address to signup?
  • Will we confirm their password during signup?
  • What routes should we use for signup?
  • Where should the user be redirected after signup?
  • Will we allow OAuth authentication via a third party?
  • What happens if the user with the username or email already exists?
  • What happens if the user enters the wrong password confirmation?

Acceptance Criteria

  1. Given that I'm a user who has not signed up yet and
    • When I'm on the /signup route
    • Then there will be a signup form with an email, username, and password field and a "Sign Up" button to submit the form.
  2. When I try to fill out the form with an email or username that already exists with a valid password and press Enter or press the "Sign Up" button
    • Then at the top of the form, I will see a red message User with that email or username already exists.
  3. When I try to fill out the form with a password shorter than 6 characters and press Enter or press the "Sign Up" button
    • Then at the top of the form, I will see a red message Password must be at least 6 characters long.
  4. When I try to fill out the form with a valid email, username, and password and press Enter or press the "Sign Up" button
    • Then I will be redirected to the homepage at the / route.
  5. Given that I am a user that just signed up
    • When I refresh the homepage at the / route
    • Then I will still be logged in
  6. Given that I am a logged-out user
    • When I try to navigate to the homepage at the / route
    • Then I will be redirected to the /login route

Stories — Scott

Write a story

As a logged in user, I want to write a story, so that I can demonstrate my imagination to the world.

Questions

  • How do I access writing a story?
    • A link under user profile for "New Story" to /new-story gets you there, and...
    • A "Write a story" button at the top of "Your Stories" page gets you there.
  • What does the story composition page look like?
    • A Title at the top with a faded placeholder saying "Title"
    • A Story area below the title with a faded placeholder saying "Tell your story..."
    • A Publish button in the upper right nav (but to the left of other elements), faded until something is written
    • A note in the upper left nav saying "Draft in [user name]" and to the right of that the state of the story ("Saving..." or "Saved")
  • What is required of a new story?
    • A Title (1-100 characters)
    • A Story (100+ characters)
  • Can I put images in my story?
    • One image for the header can be linked to from an available cross-site platform (done in the options afterwards)
  • Do I need to save my story?
    • Your story is automatically saved as a draft very soon after every edit, so no need to explicitly save it.
    • This draft will already be assigned a pre-publication, hexadecimal number (the url will look like /p/<someLongHexNumber>/edit) that serves as a unique identifier both before and after publication
  • How do I publish my story?
    • Press the "Publish" button at the top of the story creation page
  • Does the story get published immediately?
    • No, there is an intermediary page to verify publication and set some optional additions.
  • What are the options for the story?
    • A Picture at the top
    • An optional subtitle
    • POSSIBLE BONUS: A Tag for a category
  • So how do I actually get my story to publish?
    • At the bottom of the verification/options page, another "Publish now" button actually publishes it immediately.
  • Can I save the publication for later?
    • Yes, you can click the link next to the "Publish now" button that says "Schedule for later" that allows you to set a time within 5 minutes of which the story will publish
    • Set a time for the publication
    • Then press the "Schedule to publish"
  • Can I cancel my publication?
    • Yes, you can (1) cancel from scheduling of the publication (and return back to immediate publication screen) and...
    • You can (2) cancel from the verification screen with the 'X' to close in the top right, and...
    • You can (3) choose to "Delete my story" (which is another story...)

Acceptance Criteria

  1. Given that I'm logged-in as a user and
    • When I click on the "New Story" link in my profile OR the "Write a story" button at the top of my story listings
    • Then I am directed to the /new-story page, capable of writing and publishing my story.
  2. When I type (or paste) my story
    • Then I see the response in the header every time it saves, which is after every few seconds, and
    • Then the "Publish" button becomes solid and active
  3. When I am composing my story
    • Then I am able to navigate my cursor within the title or story body to position it as needed, and
    • Then I can choose to delete words from the story.
  4. When I attempt to publish without writing anything
    • Then an error message appears, "Oops, did you mean to write something so short? Please write more and try publishing again."
  5. When I select to publish my story
    • Then I have the option to set a header image, tweak my title, add a subtitle, and either "Publish now" or "Schedule for later".
    • Then I have the option to close the publication box with the 'X' in the upper right corner.
  6. When I choose to "Publish now"
    • Then my story gets immediately published
  7. When I choose to "Schedule for later"
    • Then I am able to select the date/time and
    • Then I am able to select "Schedule to publish"
  8. When I publish for the first time
    • Then I am prompted to fill out some additional profile information if it wasn't already and
    • Then I am required to set a unique publication name https://infinium.com/unique-publication-name/
  9. When I publish any story
    • Then it gets put under my publication name, with the title hyphen separated, and
    • Then the original draft number is appended to the end to create the final URL, e.g. https://infinium.com/unique-publication-name/my-cool-title-b4f523ac7

Edit a story

As a logged in user, I want to edit my story, so that I can correct issues with my original writing.

Questions

  • Can I edit my story?
    • Yes, editing is really no different that creating. From a user perspective, the process is exactly the same.
  • How do I get into editing my story?
    • For Drafts, either
      • Click the title under "Your stories" or...
      • Select the drop down on the notes under the title and "Edit draft"
    • For Published, either
      • Click the menu within the story itself and select "Edit story", or...
      • From the "Your stories" listing, select the drop down on the notes under the title and "Edit story"

Acceptance Criteria

  1. Given that I have already logged-in and have either begun writing a story or have previously written stories.
    • When I navigate to my "Your stories" page
    • Then I can click on the title of a Draft story, or
    • Then I can click on the dropdown menu below either a Draft or Published story and choose "Edit [Draft or Story]" and
    • Then I am taken to the same editor screen as when I first wrote the story.
  2. When I navigate to my Published story page
    • Then I can click a dropdown menu and choose "Edit Story" to also be take to the same story editor as when I first wrote the story.

See a list of stories

As a user, I want to see a list of stories available for reading, so that I can choose one to read.

Questions

  • Where do I find a list of stories to read?
    • On the home page (whether logged in or not)
  • Can I see a list of new stories?
    • Sort of—a list toward the bottom of the home page offers a selection of recently published stories, but that is not the entirety of what has been published recently.
  • Can I see a list of highlighted stories?
    • Yes, on the home page, at the top, is a single, larger highlighted story and four other smaller highlighted stories.
  • Can I see a list of trending stories?
    • Yes, on the home page there is a trending section just after the highlights.

Acceptance Criteria

  1. Given that I am on the home page /
    • When logged-in or not,
    • Then I am able to see various listings of stories to read.
  2. When I scroll the page
    • Then I see highlighted stories at the top
    • Then I see trending stories next
    • Then I see a general listing of some recent stories in descending publication date order below

See a list of my stories

As a logged in user, I want to see a list of my stories, both drafts and published, so that I can choose to edit them.

Questions

  • How do I find a list of my stories?
    • Under your profile, click the "Stories" link to see "Your Stories"
  • Are both my in progress and published stories available in the list?
    • Yes, there are two tabs, one for each of "Drafts" and "Published" available on the listing
  • How do I get to my stories?
    • Clicking on the title will send you to the story, either a Draft to continue editing or a Published story to read.
  • Can I tell how many stories I have as drafts and published?
    • Yes, there is a number count if it is more than zero next to the "Drafts" and "Published" tabs
  • Is any date data tracked on my list?
    • Yes, Drafts have a "last saved" date/time and Published have a published date.
  • Is there a word count available for my stories?
    • Yes, below the title, after the date/time, a word count can be found.

Acceptance Criteria

  1. Given that I am logged-in
    • When I go to my profile area and click on "Stories" to
    • Then go to a "Your stories" page at /me/stories/drafts or /me/stories/public (tabs on the page put me on one or the other; default is public if stories are published, else drafts)
  2. When I am on the "Your stories" page,
    • Then it shows the list of stories, and how many of each type I have, and when those stories were last published or, for drafts, last saved.

Read one story

As a user, I want to see a single story, so that I can read and interact with it.

Questions

  • How do I get to a story to read?
    • Click on the title of the story in a listing, or if it has a picture in the listing with it, you can click on that also.
  • Does the story indicate a read time?
    • Yes, an estimated read time is given
  • Does the story indicate a publication date?
    • Yes, a publication date is given
  • Does the story indicate the author?
    • Yes, the author's name is given, which is a link to that author's public profile
  • How can I interact with the story?
    • If you log in, you can leave a comment
    • If you log in, you can give it likes
    • If you log in, you can follow the author

Acceptance Criteria

  1. Given that I am viewing a list of stories available to read,
    • When I click on a title or image associated with that story
    • Then I am taken to that story's page to read
  2. When I am on the story's page
    • Then I can see the read time estimate, and
    • Then I can see the publication date, and
    • Then I can see the author's name and avatar
    • Then I can read comments
    • Then I can see likes
  3. When I am logged in,
    • Then I can leave a comment, and
    • Then I can add likes, and
    • Then I can choose to follow the author

Delete my story

As a logged in user, I want to delete my story, so that I can exercise my rights to my content.

Questions

  • How do I delete a published story?
    • For Drafts, either
      • In "Your stories" listing, select the drop down on the notes under the title and "Delete draft"
    • For Published, either
      • Click the menu within the story itself and select "Delete story", or...
      • From the "Your stories" listing, select the drop down on the notes under the title and "Delete story"
  • Will the story be immediately deleted?
    • A confirmation dialog box will pop up to confirm the deletion or allow a cancellation; if confirmed, the story is immediately deleted.

Acceptance Criteria

  1. Given that I have a story either published or in progress,
    • When I am on my "Your stories" page OR I am on a published story's page
    • Then I can click on available dropdown menus to choose a "Delete" option.
  2. When I press a "Delete" option,
    • Then a confirmation dialog appears to confirm my choice to delete.
  3. When I have confirmed my choice to delete,
    • Then the story is immediately removed and is irreversibly destroyed.

Comments on a story - ??

Creating comments on a story

Editing comments on a story

Getting comments on a story

Deleting comments on a story


Likes - Rhys

Creating likes on a story

As a logged in user, I want to be able to click on a 'like' icon a number of times, up unto a certain limit, so that I can provide feedback to the writer as to my level of enjoyment whilst reading their story.

Questions

  • How am I able to gain access to the 'like' button?
    • The 'like' button will be affixed to the bottom of the story for viewing and interaction.
  • How can I interact with the 'like' button?
    • I will be able to press the 'like' button to generate a 'like'.
  • How many times can I click the 'like' button to create a 'like'?
    • The 'like' button will have a maximum number of likes of 50.

Acceptance Criteria

  • Given that I am a logged-in user, when I navigate to a user story, I will be able to access the 'like' button for that particular story.
    • When I click on the button, I will be able to create a 'like', up to a maximum of 50 likes to show my enjoyment level whilst reading the story.

Editing (adding & removing) likes on a story

As a logged in user, I want to be able to add more clicks on a 'like' icon sometime after I did it the first time, up unto a certain limit, so that I can provide updated feedback to the writer as to my level of enjoyment whilst reading their story.

Questions

  • Will the 'like' button for the particular story have in memory the previous time(s) I clicked on the button?
    • The 'like' button will recognise the user if they have previously clicked the button. They will still have a maximum of 50 likes in total, and their previous 'likes' given will be accounted for in that total.
  • Can I remove the number of likes I previously gave to the 'like' button?
    • Unsure. This needs to be further investigated. If so, the minimum number would be reset to 0 if all likes were removed by the user.

Acceptance Criteria

  • Given that I am a logged-in user, when I revisit a user story, I will be able to edit the number of 'likes' given for that particular story.
    • When I click on the button, I will be able to add more 'likes' to the previous amount of likes I had given. I will also be able to remove the number of likes previously given(???).

Viewing likes on a story (GET)

As a logged in user, I want to be able to view the 'like' button, so that I can see how popular a story is based on the number of 'likes' other users have given said story.

Questions

  • Will the 'like' button for the particular story provide a number on the same page as the associated story?
    • The 'like' button will be affixed to the story and show the number of 'likes' it has accumulated.
  • Will the 'like' button dynamically update as other users view and react to the story?
    • The 'like' button is expected to provide updated number of 'likes' as other users interact with it, which is shown in real time on the user's page.

Acceptance Criteria

  • Given that I am a logged-in user, when I go to the page of a user story, I will be able to view the number of 'likes' given for that particular story.
    • The number of 'likes' will continue to update as people interact with the button and shown this on my page.

As a unauthorized user, I want to be able to view the 'like' button, so that I can see how popular a story is based on the number of 'likes' other users have given said story. I will have all the same levels of functionality as a logged in user when it comes to viewing. In other words, the number of likes that a particular story has will be able to be viewed by anyone.


User - Michael

Creating a user account (CREATE)

**As an unauthorized user, I want to create an account with Infinium so, as an authorized user, I would be able to edit, view, or delete my own profile.

Questions

  • What information will need to be provided in order to create an account?
    • they will be prompted to provide: first name, last name, desired username, email address, and a password
  • Where will the unauthorized user have the ability to create an account?
    • Our homepage will have a 'create account' link which will prompt the user for their required information
  • What will happen after a user creates a profile?
    • after a user creates a profile, they will be redirected to their homepage of stories
  • How will users who created profiles be able to sign in?
    • already authorized users will be provided a sign in button separate to the create user button and there will be a link to the sign in page from the create user link

Acceptance Criteria

  • When a user clicks the 'Create account' button
    • a pop up menu will appear requesting the required info, this will not be a link redirecting us to another page but rather a pop up on the same page
  • after a user creates a profile
    • they will be redirected to their homepage and an 'profile' link will become accessible in our header that will have multiple links to edit their profile
  • after clicking the "profile' page in the header
    • a user will be able to sign out of their account, edit their profile, create a new story, and view all of their stories

Editing a user profile

** as an authorized user, I want to navigate to the "edit profile" page so I can then alter my profile information

Questions

*Where will the navigation link to edit profile be provided? *The link will be part of a drop down menu that will be opened when clicking on the users profile icon in the top right of the home screen *What information will be able to be altered when the user is editing their information? *The user will be able to change their email, name, username and password *Will there need to be some sort of confirmation before completing this change? *After changing the desired information, in order to confirm the changed the user will be prompted to provide their password

Acceptance Criteria

*When a user clicks their profile icon *the drop down menu will appear with the edit profile navigation *After filling out the desired changes in the edit profile link and confirming their password

  • (with correct password) The user will be navigated back to their stories profile with a pop up stating that their changes have been made
  • (with incorrect password) The confirm password button will turn red asking to re-enter the correct password

Getting a user profile

Delete a user profile


Followers/Following - Dale

Becoming a follower (CREATE)

As an authorized user, I want to be able to become a follower of people I like, so I can see their stories and interact with their page

Questions

  • How will the user follow a person?
    • User will click on the Follow button which will turn into Following
  • Where will the follow button appear?
    • Follow button will appear at the top of a users page
    • Follow button will also appear at the top of an article page
  • What routes should we use for a user page?
    • User pages should use a ${user}.medium.com route

Acceptance criteria

  • When I try to follow a person
    • Then the Follow button will change from Follow to Following
  • When I look at the page
    • Then the Follow button will be at the top
    • It will also be at the top of each article next to the person's picture (optional)
  • Given that I am a logged-in user
    • When I'm on the ${user}.medium.com page
    • Then I will see their personal profile picture and recent stories

Viewing followers (GET)

As an authorized user, I want to be able to view my followers so I can see their stories and interact with their page

Questions

  • How will the user view their followers?
    • Not sure this can be done, still trying to find out
  • How will the user view other people's followers?
    • A user can see the number of followers of another user but not who is following

Acceptance criteria

  • When I try to view my followers
    • Then I'm not sure where I need to go
  • When I try to view other people's followers
    • Then I can only see the amount of followers on the other user's page

Viewing who I follow (GET)

  • Following feed

As an authorized user I want to be able to view who I am following so I can see their stories and have them appear in my homepage feed

Questions

  • How will the user view who they're following?
    • The profile page has a number of following but not a who
    • A user can only view this once they reach more than 8 following and click on "All from following" below the pictures
    • The following are listed on a separate page with path /me/following/people where I can also follow and unfollow people
  • How will I access more articles by who I'm following?
    • A user can go to the "Latest from Following" and click on a picture
    • Users with new stories will be placed at the top left corner of the following

Acceptance criteria

  • When I try to view who I'm following
    • Then I go to my profile page to see how many people I'm following, although not who
    • Then if I have more than 8 following I click on the "All from following" link below the "Latest from Following" section
    • Then I view everyone I'm following on a separate page with path /me/following/people
  • When I try to access more articles from the users I am following
    • Then I go to my home page and look at "Latest from Following"
      • Then in this section the people with the newest articles appear in the top left corner

Unfollowing (DELETE)

As an authorized user, I want to be able to unfollow who I am following so I can view and interact with contact more in line with my current interests

Questions

  • How will the user unfollow someone?
    • A user can unfollow someone at the top of a news article of someone they are following
    • The following are listed on a separate page with path /me/following/people
  • What happens when a user unfollows someone?
    • The following count in their personal profile decreases
    • The user they are following dissapears from their "Latest from Following" and their "Customize your ineterests" section at /me/following/people

Acceptance criteria

  • When I try to unfollow someone
    • Then I go to my profile page and click unfollow or click unfollow at the top of one of their published stories
    • Then I go to my "Customize your interests" page and click unfollow
  • When I unfollow someone
    • Then the count of following on my profile page decreases by one
    • Then they are removed from my "Latest from Following" on my home page
    • THen they are removed from my "Customize your interests" section
Clone this wiki locally