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