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
Given that I am a user signed-in
When Im on the “/users/name” route
Then it should be the users page.
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
Given that I am a user not signed up
When trying to give Cheers
Then you will be redirected to the “/signup” route.
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
Given that I am a user not signed up
When trying to give Cheers
Then you will be redirected to the “/signup” route.
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
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.
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
Given that I am a user not signed up
Then I will not be able to delete any comment.
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
Given that I am a user not sign-up
I can see the Cheers on a story but cannot give any.
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
Given that I am a logged-in user
Then I have the ability to create a Story.
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.
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
Given that I am a logged-in user
Then I have the ability to edit a Story I created.
When I edit a story I created
Then it will be updated everywhere.
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
Given that I am a logged-in user
Then I have the ability to delete a Story I created.