User Stories & Acceptance Criteria - Dedition/WhoDis GitHub Wiki
1. User Experience - Login and Register
CREATE
- As a first-time user, I will be able to click a button to POST a register form
- As a recurring user, I will be able to click a button to POST a log-in form
- I will be navigated to the landing page upon successfully registering or logging in
Acceptance Criteria:
- There will be a button to be able to register a new user
- Error messages will occur if invalid information has been attempted to POST for login and register form
READ
- As a signed-out user, they will be sent to the splash page. There should be a button that redirects them to the login/signup form page.
- As a signed-out user, if they have not entered valid credentials the application will let me know that they added invalid information.
- Upon successful login, they will be navigated to the landing page and should see their profile icon, servers, (online) friends list and an inbox.
Acceptance Criteria:
- There will be two individual buttons that will send a signed-out user to the login form page or to a register form page
- New users will have a sign-up form and recurring users will have a log-in form
2. Servers
CREATE
- As a logged-in user, I can create a new server
Acceptance Criteria:
- There will be a button that allows a logged-in user to view a form that submits the request to create a new server.
READ
- As a logged-in user, I can see all public servers
- As a logged-in user, I can see all servers I've joined
- As a logged-in user, I can see the contents of the very first server
- As a logged-in user, I can navigate all the servers within the accessible server list
Acceptance Criteria:
- There will be a list of public servers viewable
- There will be a button that allows a user to join a public server
- There will be a button that allows for exploring of all public servers
UPDATE
- As a logged-in owner, I will be able to UPDATE the name of the server
- As a logged-in user, I will be able to UPDATE any comments made in the server
- As a logged-in user, I will be able to leave the server
Acceptance Criteria:
- There will be a button to bring up a form that allows the owner to change the server name
- There will be a button to bring up a form that allows the owner to change the server banner
- There will be a button that allows a user to leave the server
DELETE
- As a logged-in owner, I will be able to DELETE the server and all of its contents
- As a logged-in owner, I will be able to DELETE any comment in the server
- As a logged-in owner, I will be able to DELETE/remove users from my server
Acceptance Criteria:
- There will be a button to bring up a form that allows the owner to remove a user
- There will be a button to bring up a form that allows the owner to remove any comments in the server
3. Channels
CREATE
- As a logged-in owner, I can create a channel
Acceptance Criteria:
- There will be a button that will allow an owner to create a channel
READ
- As a logged-in user, I will be shown a list of channels from any server I select
- As a logged-in user, I will have access to all channels and their contents
Acceptance Criteria:
- A user will have access to view all channels within a public server
UPDATE
- As a logged-in owner, I will be able to UPDATE the name of the channel
Acceptance Criteria:
- There is a button that'll allow you to change the channel name
DELETE
- A logged-in owner of the channel will be able to delete the channel and all of its contents
4. Direct messaging
CREATE
- As a logged-in user, I can search and find another user to send a direct message to thus creating an inbox
Acceptance Criteria:
- A logged-in user should be able to enter another users username into an input field and receive a list of filtered names back
- A logged-in user should be able to view and click a button next to the users name that will allow them to send a message to the user
UPDATE
- As a logged-in user, I can update the name of the inbox
Acceptance Criteria:
- A logged-in user should be able to enter an inbox available to them and a user they're connected with and update the name of the inbox
DELETE
- As a logged-in user should
Acceptance Criteria:
- A logged-in user who sends a direct message, should see a button that allows them to delete their message
5. Live messaging
CREATE
- As a logged-in user who is in a server, I can create a message and POST it to the channel
Acceptance Criteria:
- A logged-in user will be able to click on a channel to POST a message
READ
- As a logged-in user, I can view all incoming and outgoing messages from a channel
Acceptance Criteria:
- A logged-in user will be able to click and enter into a channel and see all the contents therein
UPDATE
- As a logged-in user, I can UPDATE/edit any message I post
Acceptance Criteria:
- A logged-in user will be able to view a button that allows them to edit their sent message
DELETE
- As a logged-in user, I will be able to delete all my messages
Acceptance Criteria:
- A logged-in user will be able to click on a button and delete their message(s)
Stretch Goals
6. Friends
CREATE
- As a logged-in user, I will be able to send a request to add a user
Acceptance Criteria:
- A button should appear when a logged-in user searches for a user and it should allow them to add a friend
READ
- As a logged-in user, I will be able to see all my friends on a friend list
- As a logged-in user, I will be able to see all my pending friend requests
Acceptance Criteria:
- A logged-in user will be able to click a button that allows them to view a list of their friend
- A logged-in user will be able to click a button that allows them to view a list of their friend requests
UPDATE
- As a logged-in user, I will be able to cancel any of my friend requests
Acceptance Criteria:
- A logged-in user will see a button that allows them to cancel their friend request
DELETE
- As a logged-in user, I will be able to DELETE a friend
Acceptance Criteria:
- A logged-in user should have the ability to DELETE the friend request
7. User Profiles
CREATE
- As a logged-in user, I will be able to see a user profile upon successful account creation
Acceptance Criteria:
- A new user should be able to see a user profile upon account creation
READ
- As a logged-in user, I will be able to navigate to my own and other user profiles
Acceptance Criteria:
- A logged-in user will be able to navigate to view their own user profile
- A logged-in user will be able to navigate to view other user profiles by clicking their names
UPDATE
- As a logged-in user, I will be able to add more information about myself to my own user profile
Acceptance Criteria:
- A logged-in user will see a button that allows them to bring up a form to UPDATE their user profile