User Stories - peter-monahan/Just-Chess GitHub Wiki
1. Games
Create
As a logged in user, I want to be able to create and play a game with another user
Acceptance Criteria: I should be able to...
- Click a button on the home page to play a game with a random user that takes me to a 'waiting for other player' page
- Click a button on a friend in my friends list to invite them to play a game with me
- Search for a player by username, and click a button to invite them to play a game with me
- Click a button on the 'waiting for other player' page to play a bot if no users are available to play with
Read
As a logged in user, I want to be able to see live updates to the game board as the game is played
Acceptance Criteria: I should be able to...
- Click a button on the home page to take me to a list of games that I am currently playing
- Click on an individual game to see the single game page with live updating
Update
As a logged in user, I want to be able to move a piece when it is my turn
Acceptance Criteria: I should be able to...
- Click a piece on the game board and make a valid move to another tile
Delete
As a logged in user, I want to be able to finish a game
Acceptance Criteria: I should be able to...
- Win and finish a game
- Lose and finish a game
- Forfeit a game (which is also considered a loss)
2. Messages
Create
As a logged in user, I want to be able to create a message to send to another player
Acceptance Criteria: I should be able to...
- Click a button on the single game page to open the chat to send messages to my opponent
- Click a button on a friend in my friends list to send them a direct message
- Search for a player by username, and click a button to send them a direct message
Read
As a logged in user, I want to be able to see all the messages I am receiving
Acceptance Criteria: I should be able to...
- Click a button on the home page to take me to a list of direct message threads
- Click on an individual direct message thread to see the chat live updating
- Click a button on the game page to open and see the chat live updating
Update
As a logged in user, I want to be able to edit a direct message in case I didn't mean what I said
Acceptance Criteria: I should be able to...
- Click a edit button on one of my created messages and edit the body
- Have a note on the message saying that I edited it
Delete
As a logged in user, I want to be able to delete a direct message in case I regret what I said
Acceptance Criteria: I should be able to...
- Click a delete button on one of my created messages, and never see it again
3. Friend Requests
Create
As a logged in user, I want to be able to send a friend request to another player
Acceptance Criteria: I should be able to...
- Click a button on the single game page to send a friend request to my opponent
- Search for a player by username, and click a button to send them a friend request
Read
As a logged in user, I want to be able to see if anyone will accept my friend request
Acceptance Criteria: I should be able to...
- Click a button on the home page to take me to a list of pending friend requests I've sent
- Click a button on the home page to take me to a list of pending friend requests I've been sent
Update
As a logged in user, I want to be able to accept a friend request I've been sent
Acceptance Criteria: I should be able to...
- Click an accept button on one of my friend requests to accept the request
Delete
As a logged in user, I want to be able to reject a friend request I've been sent, and cancel ones I've sent
Acceptance Criteria: I should be able to...
- Click a reject button on one of my received friend requests to delete the request
- Click a cancel button on one of my sent friend requests to delete the request
4. Friends
Create
As a logged in user, I want to be able to have friends
Acceptance Criteria: I should be able to...
- Send and receive friend requests that when accepted create a friendship between two users
Read
As a logged in user, I want to be able to see a list of my friends
Acceptance Criteria: I should be able to...
- Click a button on the home page to take me to a list of my friends
Delete
As a logged in user, I want to be able to unfriend someone if they make me mad
Acceptance Criteria: I should be able to...
- Click a button on a friend in my friends list to unfriend them