Skip to content

User Stories

Sharon edited this page Apr 13, 2018 · 12 revisions

Reasons for User Stories

When a feature is proposed there needs to be a concrete idea of what is involved to deliver the feature: the high level steps to implement, the time allocated, risk, priority and most importantly the purpose to the user of the feature.

User Stories

1 point is ~ 10-15 minutes, 5 points is ~ 1 hour


id = 1

Title Story Description Points Risk Priority
Home Page Questions As any user, I want to be able to view, sort and visit questions that other's have asked so that I can view answers to questions. 20 Low High

Tasks

  1. Question Model must be created - Jon, Nico, Megan, Michael
  2. API Routing for Questions and Answers must be available (sort on backend) - Jon, Nico
  3. Front-end component for Question must be coded - Kerry, Sharon
  4. Front-end component for listing Questions (sorting the list) must be coded - Kerry
  5. Have Question and Answer page made - Jon

Acceptance Test

Go to front-page of site. Questions should be listed. Click on a question and get linked to the question page. If you reach the question page the test passes unless there are no questions (this also passes). Any errors fail the test.


id = 2

Title Story Description Points Risk Priority
Login As a logged out user with an account, I want to be able to login so that I can ask and answer questions. 20 High High

Tasks

  1. User Model must be created - Jon, Nico, Michael
  2. API Routing for users must be available - Jon
  3. Password must be correctly hashed - Jon
  4. Front-End Component must be coded for logging in - Kerry
  5. Ability to register must be integrated into system

Acceptance Test

Go to home page. Click on the input box for logging in, type valid username and valid password. Click login button. If no errors occur then the test passes. If no valid credentials exist, click register and fill in information. Attempt to login again.


id = 3

Title Story Description Points Risk Priority
User Registration As a logged out user without an account, I want to be able to register so that I can begin to ask and answer questions. 20 High High

Tasks

  1. User Model must be created - Jon, Nico
  2. API Routing for users must be available - Jon
  3. Password must be correctly hashed - Jon
  4. Front-End registration component must be coded for registration - Kerry, Ramez

Acceptance Test

Go to register on home page. Fill in valid names, email, password and software engineering discipline. Click next filling in information until the modal closes. Check the email account you entered for an email from AskEng. Attempt to login. If you cannot log in, do not receive an email or get an error at any point then the test fails.


id = 4

Title Story Description Points Risk Priority
Ask Question As a logged in user, I want to be able to ask questions by a type of engineering so that I can get answers to my questions. 15 Medium High

Tasks

  1. Question Model must be created - Jon, Nico, Megan, Michael
  2. API Routing for accepting new Questions must be available - Jon, Nico
  3. Front-end component for asking question (title, text, engineer) - Kerry, Sharon
  4. Visual Confirmation for user must be coded

Acceptance Test

On the home page log in. An input box with a title, text and engineering option should display. Enter in the information required (title, text, option) and click the Ask button. If the form denies you being able to ask a question, gives you any errors or the question does not appear below after asking then the test fails.


id = 5

Title Story Description Points Risk Priority
Answer Question As a logged in user, I want to be able to answer questions so that I can get ups and downs to increase my score. 30 Medium High

Tasks

  1. Question and Answer Model must be created - Jon, Nico, Megan, Michael
  2. API Routing for accepting new Answers must be available - Jon, Nico
  3. Front-end component for question (title, text, engineer, ups, downs) - Jon, Sharon
  4. Front-end component for answering question (text) - Jon, Sharon
  5. Front-end component for answer (text, ups, downs) - Jon, Sharon

Acceptance Test

Log in using valid credentials. Once logged in then click on a question from the home page. You will be brought to the question page. On this page enter text into an answer input and click on Answer Question. If the answer does not appear below, you cannot reach a question page (unless database is empty), or any errors occur then the test fails.


id = 6

Title Story Description Points Risk Priority
Profile As a logged in user, I want to be able to view and edit my profile so that I can update my email, change my password, change my engineering type and change my display image. 35 Medium Low

Tasks

  1. User model must be created - Jon
  2. API routing for Users must be available for accepting and sending user data - Jon
  3. Front-End routing must be created for Profile page - Jamal
  4. Profile Page component - Ramez, Sharon
  5. Ability to change email - Jamal
  6. Ability to change password - Jamal
  7. Ability to change engineering type - Jamal
  8. Ability to change profile picture - Jon
  9. Changes must be saved in the database - Nico

Acceptance Test

Log in using valid credentials. Go to the profile page using the top menu bar. On the profile page click edit profile to begin editing the various fields. Change all information. Click Save. Refresh. If the information does not save upon refresh, saves incorrectly, displays any errors or one cannot reach the profile page then the test fails.


id = 7

Title Story Description Points Risk Priority
User information dropdown As a logged in user, I want to be able to have a dropdown with actions so that I can get to my profile, update settings and logout. 15 Medium Low

Tasks

  1. User model must be created - Jon
  2. API routing for Users must be available for accepting and sending user data - Jon
  3. Dropdown component must be created - Ramez
  4. Profile page must be available - Sharon
  5. Logout function must be coded - Kerry

Acceptance Test

Log in using valid credentials. Go to top bar. If the profile page link or log out button is not present the test fails. Click the log out button. If the page returns to a logged out state then the test passes, else the test fails.


id = 8

Title Story Description Points Risk Priority
Email Registration As an administrator, I want to be able to have verification emails sent so that users can verify that they attempted to create an account. 15 High Low

Tasks

  1. User model must be created - Jon
  2. API routing for Users must be available for accepting and sending user data - Jon
  3. Registration component must be coded - Ramez, Kerry
  4. Backend must mail user attempting to register - Nico

Acceptance Test

Refer to registration user story. If the email is not received then this acceptance test fails.


id = 9

Title Story Description Points Risk Priority
Search As a user, I want to be able to search questions from the home page. 25 High High

Tasks

  1. Front end searches from available questions - Kerry, Sharon

Acceptance Test

Go to the home page. If the user types into the search bar, exact string matches of the questions below should be the only questions left. If no matches occur even though the string is a direct match the test fails.


id = 10

Title Story Description Points Risk Priority
Testing As an admin, I want to be able to test all components on front-end and assert that all backend-models work properly. 30 Low High

Tasks

  1. Front-end tests need to be configured - Kerry
  2. Front-end tests need to be developed - Kerry
  3. Back-end tests need to be configured - Nico
  4. Back-end tests need to be developed - Nico, Jon

Acceptance Test

Check Travis CI, does everything pass? If yes, this acceptance test passes, else this test fails.


id = 11

Title Story Description Points Risk Priority
Tags As a logged-in user, I want to be able to add tags to questions after I ask them. 10 Low Medium

Tasks

  1. Backend-end schema changes to question must be added - Jon
  2. Ability to add new tags must be added to the question component - Kerry

Acceptance Test

Go to front-page of site. Login using valid credentials. Ask question. On question page enter in tags. If tags are displayed then the test passes, else the test fails.