User Stories
User Stories are described with a specific format: As XXX, I want... so that...
User stories are also further organized using the MoSCoW method (must have, should have, could have, would have) under their own sections.
Date: September 26 Authors: Boyuan Dong, Mingjun Hou
Authentication
US 1.01 - Authenticate VMind account (Must Have)
As a user
I want to authenticate with my VibrantMind account,
So that I can get access to the web application.
Acceptance Tests
1. Log in as a user with correct information.
2. Input incorrect information and make sure it doesn't allow the user to continue.
US 1.02 - Authenticate invitee (Should Have)
As a user
I want to receive an error email when I am not a player on VibrantMind,
So that I can sign up at VibrantMind and accept the invitation to play.
Acceptance Tests
1. The user can receive an error email when he/she is invited to play the game, but does not have an account on VirantMind.
US 1.03 - Authenticate inviter (Should Have)
As a user
I want to receive an error email,
So that I can realize I failed to invite another player who does not have a VibrantMind account yet.
Acceptance Tests
1. The user can receive the email with the correct error message/notification.
Invitation Sent
US 2.01 - Send invitation (Must Have)
As a user
I want to send an invitation to a player with a start time,
So that I can ask another player to join this video conferencing with me.
Acceptance Tests
1. Input player's username/email with correct information.
2. Input incorrect information and make sure it doesn't allow the user to continue.
3. Make sure the game date and time player selected is the same in the invitation sent.
4. Make sure the player I invited receives the invitation.
US 2.02 - View invitations sent (Should Have)
As a user
I want to view all my invitations-sent in details(who, when, if they are accepted),
So that I can recall all my invitations.
Acceptance Tests
1. Users should be able to see all of the invitations in a list as well as all the details.
US 2.03 - Invitations conflict (Must Have)
As a user
I want to receive an error message,
So that I can know the player I invited already in a meeting.
Acceptance Tests
1. Inviter should not be able to send the invitation to the invitee.
2. Error message is presented correctly.
3. Notification page should be updated timely and correctly.
Invitation Received
US 3.01 - View a list of Invitation received (Must Have)
As a user
I want to view a list of invitation received,
So that I can recall all the invitations I received.
Acceptance Tests
1. The invitations received displayed correctly without missing or adding.
US 3.02 - View details of Invitation received (Should Have)
As a user
I want to see the inviter/game date/game start time/accept options/decline option of the invitation,
So that I can decide whether I accept the invitation or not.
Acceptance Tests
1. Should be able to see the details inviter/game date/game start time/accept options/decline option of invitation.
US 3.03 - Accept the Invitation (Must Have)
As a user
I want to accept the invitation,
So that I can set up this meeting.
Acceptance Tests
1. Updating my upcoming event.
2. Updating the invitation received.
3. Updating the inviter’s notification.
US 3.04 - Decline the Invitation (Must Have)
As a user
I want to decline the invitation,
So that I can refuse to attend the meeting.
Acceptance Tests
1. Updating my upcoming event.
2. Updating the invitation received.
3. Updating the inviter’s notification.
History video-conference
US 4.01 - View a list of video-conferences history (Must Have)
As a user
I want to view a list of video-conferences history,
So that I can recall what happened on that day.
Acceptance Tests
1. The history of video-conferences displayed correctly without missing or adding.
US 4.02 - View each detailed history video-conference (Should Have)
As a user
I want to view player/game date/game start time/timestamp/time period of each history video-conference,
So that I can recall the details for each history video-conference.
Acceptance Tests
1. All details of the video-conferences histories are correct.
Upcoming video-conference
US 5.01 - View a list of upcoming video-conferences (Must Have)
As a user
I want to view a list of upcoming video-conferences,
So that I can know all the upcoming video-conferences that I will attend.
Acceptance Tests
1. The upcoming video-conferences display correctly without missing or adding.
US 5.02 - View each detailed upcoming video-conference (Should Have)
As a user
I want to view the player/game date/game start time of each upcoming video-conference,
So that I can know the details for each upcoming video-conference.
Acceptance Tests
1. All details of the upcoming video-conferences are correct.
US 5.03 - Join video-conference (Must Have)
As a user
I want to jump to the meeting web page by clicking the join button with the meeting link,
So that I can join the video-conference.
Acceptance Tests
1. Jump to the meeting web page successfully.
2. Join video-conference successfully.
US 5.04 - Add a calendar entry (Should Have)
As a user
I want to download the .ics file by clicking the link of a calendar entry,
So that I can add the calendar entry to my calendar.
Acceptance Tests
1. Click the link, can download the .ics calendar entry.
2. The calendar entry can be added to the user’s calendar.
Video-conference Main Screen
US 6.01 - View of the main screen (Must Have)
As a user
I want to see 4 tiles on the screen with my game screen, video feed and another player’s game screen, video feed, with their usernames on top of the screen,
So that I can play while videoing and chatting.
Acceptance Tests
1. Be able to see both players' game screen and video feed with usernames.
2. The user can play at his/her game screen
US 6.02 - Audio and Video (Must Have)
As a user
I want to be able to access my computer’s audio and video,
So that I can chat with another player, see their face and their game screen.
Acceptance Tests
1. Be able to see both players' faces.
2. Be able to talk and chat with each other.
3. Be able to see their game screen.
US 6.03 - Black screen at video feed when not logged in (Would Have)
As a user
I want to see a black screen at the player’s video feed,
So that I can know they are not logged in yet.
Acceptance Tests
1. When a player is not logged in, the player’s feed video should be black.
US 6.04 - Logout at the video-conference (Must Have)
As a user
I want to click the logout button,
So that I can leave the video-conference.
Acceptance Tests
1. The user who logs out can leave the video-conference successfully.
2. The user who is remaining at the screen can either log out or hold to play alone.
3. After both players log out or both videos' feed turn black:
a. The session should be ended.
b. Update history.
c. Update upcoming events.
US 6.05 - Multiple templates for screen layout (Could Have)
As a user
I want to click one of four video windows to enlarge this window while video-conferencing,
So that I can have multiple templates for screen layout.
Acceptance Tests
1. Click the window, the window will be enlarged.
2. The screen layout will be changed.
US 6.06 - Score updates (Could Have)
As a user
I want to see a ticker tape at the bottom of the screen with score updates,
So that I can know the players' scores.
Acceptance Tests
1. The score is displayed and updated correctly.
US 6.07 - Send emojis (Would Have)
As a user
I want to have ThumbsUp and Clapping emojis,
So that I can use them to congratulate/cheer another player.
Acceptance Tests
1. Both of the players could see the emoji if one of them sent an emoji.
Notification
US 7.01 - View a list of Notifications (Must Have)
As a user
I want to view a list of notifications I received,
So that I can know the status of my sent-invitations.
Acceptance Tests
1. The notification lists are displayed correctly without missing or adding.
US 7.02 - View each detailed notifications (Should Have)
As a user
I want to know who accepted/declined/failed to receive my invitation at a specific time,
So that I can keep updated on the invitation I sent.
Acceptance Tests
1. All details of the notifications are correct.
Must Have
- US 1.01 - Authenticate
- US 2.01 - Send invitation
- US 2.03 - Invitations conflict
- US 3.01 - View a list of Invitation received
- US 3.02 - View details of Invitation received
- US 3.03 - Accept the Invitation
- US 3.04 - Decline the Invitation
- US 4.01 - View a list of video-conferences history
- US 5.01 - View a list of upcoming video-conferences
- US 5.03 - Join video-conference
- US 6.01 - View of the main screen
- US 6.02 - Audio and Video
- US 6.04 - Logout at the video-conference
- US 7.01 - View a list of Notifications
Should Have
- US 1.02 - Authenticate invitee
- US 1.03 - Authenticate inviter
- US 2.02 - View invitations sent
- US 4.02 - View each detailed history video-conference
- US 5.02 - View each detailed upcoming video-conference
- US 5.04 - Add a calendar entry
- US 7.02 - View each detailed notification
Would Have
- US 6.03 - Black screen at video feed when not logged in
- US 6.07 - Send emojis
Could Have
- US 6.05 - Multiple templates for screen layout
- US 6.06 - Score updates