User Stories - Intro-to-SE-Spring-21/Group5repo GitHub Wiki
User Story #1 Register Account
As a user, I want to be able to create my account and login information
[Additional Feature]
Priority: High
Risk: Low
Story Points: 4
Sub Stories:
- As a user, I want to be able to click the Register button and set up my account
Task Breakdown:
- Make Register Page
- Enter username, password, and confirm password
- Store info into database
Acceptance Testing:
- Click register
- Enter valid username and password and confirm password
- Verify user data stored into database
User Story #2 Login to Account
As a user, I want to be able to log into my account
[Additional Feature]
Priority: High
Risk: Low
Story Points: 4
Sub Stories:
- As a user, I want to be able to submit my login information to log into my account
- As a user, I want to be sent directly to the home page after successfully logging in
Task Breakdown:
- Make Login Page
- Enter username and password
- Verify login information
- Log user into account
- Redirect to home page
Acceptance Testing:
- After registering, login is required
- Enter login username and password
- Check database for stored username and password
- Login and return user to home page
User Story #3 Post a Tweet
As a user, I want to be able to post a tweet and have others view the post.
[Core Feature]
Priority: High
Risk: Low
Story Points: 4
Sub Stories:
- As a user, I want to be able to click a button that allows me to post a tweet
- As a user, I want to be able to type in a message and post it
- As a user, I want my post to be visible by those who follow me
Task Breakdown:
- Make Post a Beanz Page
- Enter Tweet title and body
- Store information in database
- Redirect to home page
Acceptance Testing:
- User must be logged in
- Click Post a Beanz on home page
- Enter in title/body
- Store each tweet into database
- Display tweet and other tweets on feed
User Story #4 Like a Tweet
As a user, I want to be able to like a tweet
[Core Feature]
Priority: High
Risk: Low
Story Points: 2
Sub Stories:
- As a user, I want to be able to click a button that will symbolize a like
Task Breakdown:
- Create Like button
- Add 1 like to number of likes
- Show updated like count
Acceptance Testing:
- User must be logged in
- Click on a tweet from feed/home page
- View and press the like button
- Like count should increase by 1 and display updated count
User Story #5 Follow a User
As a user, I want to be able follow a user from my user account
[Core Feature]
Priority: High
Risk: Low
Story Points: 3
Sub Stories:
- As a user, I want to be able to click a button to follow a user
Task Breakdown:
- Create Follow User button
- Add Follower to followed user and Following to following user
- Store follow information for both users
Acceptance Testing:
- User must be logged in
- Click On the Follow Button from home page
- Increment followed user's Follower count by 1
- Increment following user's Following count by 1
- Update both user's Follow list
- View Follows page to observe changes
User Story #6 View User Profile
As a user, I want to be able to view a user's profile and feed
[Additional Feature]
Priority: Low
Risk: Medium
Story Points: 3
Sub Stories:
- As a user, I want to be able to click on a user's account and view their profile
- As a user, I want to be able to click on a user's account and view posts from them and users they follow
Task Breakdown:
- Create User Profile page
- Include user info, feed, and tweet contents
- Access database information to display information
Acceptance Testing:
- Click on View Profile button in home page user info
- Redirect the User Profile page
- Display username, handle, bio, and follow info
- Feed displays their tweets and tweets from users they follow
User Story #7 View General Feed
As a user, I want to be able to view a feed of general posts
[Additional Feature]
Priority: Medium
Risk: Medium
Story Points: 4
Sub Stories:
- As a user, I want to be able to scroll through posts from all users
Task Breakdown
- Create General Feed on home page
- Access database to display tweets, tweet info, and user info
Acceptance Testing:
- Enter website
- Directed to home page
- Left column contains General Feed of all tweets
User Story #8 View User's Follower/Following List
As a user, I want to be able to view a list of the user's followers
As a user, I want to be able to view a list of who the user is following
[Additional Feature]
Priority: Medium
Risk: Low
Story Points: 3
Sub Stories:
- As a user, I want to be able to scroll through a list of who the user is following
- As a user, I want to be able to scroll through a list of the user's followers
Task Breakdown:
- Create Follower/Following Page
- Access database to display follow information
Acceptance Testing:
- Click View Follows in home page user info
- Redirect to Follow Page and display list of followers and following users
User Story #9 Settings Page
As a user, I want to be able to change my bio and username
[Additional Feature]
Priority: Low
Risk: Low
Story Points: 4
Sub Stories:
- As a user, I want to be able to go to a page to change my username
- As a user, I want to be able to go to a page to change my bio
Task Breakdown:
- Create Settings Page
- Store entered data in database to replace pre-existing data
Acceptance Testing:
- User must be logged in
- Click on Settings button
- Redirect to Settings page
- Enter either new username or bio in form and click submit
- Store new data in database to replace old data
- View User Profile to observe changes
User Story #10 Likes List
As a user, I want to be able to view who liked a tweet
[Additional Feature]
Priority: Low
Risk: Low
Story Points: 3
Sub Stories:
- As a user, I want to be able to see who liked each tweet
Task Breakdown
- Create Likes List Page
- Access database to navigate to a page for each tweet
- Access database to display all users who have liked a tweet
Acceptance Testing:
- Click on a tweet from feed/home page
- Click on the like count
- Redirect to tweet's Like List page
- View list of users who have liked the post
User Story #11 Logout of Account
As a user, I want to be able to log out of my account
[Additional Feature]
Priority: Medium
Risk: Low
Story Points: 2
Sub Stories:
- As a user, I want to be able to click a button and be logged out of my account
Task Breakdown:
- Make Logout button appear over Login button when logged in
- Clear session data
- Log user out of account
Acceptance Testing:
- User must be logged in
- Click Logout button
- Verify that user is logged out