User Stories - ukiukica/splitzy GitHub Wiki

Sign Up

  • As an unregistered and unauthorized user, I want to be able to sign up for the website via a sign-up form.
  • When I'm on the /signup page:
  • I would like to be able to enter my first name, last name, email, username, and preferred password on a clearly laid out form.
  • I would like the website to log me in upon successful completion of the sign-up form.
  • So that I can seamlessly access the site's functionality
  • When I enter invalid data on the sign-up form:
  • I would like the website to inform me of the validations I failed to pass.

Log in

  • As a registered and unauthorized user, I want to be able to log in to the website via a log-in form.
  • When I'm on the /login page:
  • I would like to be able to enter my username and password on a clearly laid out form.
  • I would like the website to log me in upon successful completion of the sign-up form.
  • So that I can seamlessly access the site's functionality
  • When I enter invalid data on the log-up form:
  • I would like the website to inform me of the validations I failed to pass.

Demo User

  • As an unregistered and unauthorized user, I would like a visible button on both the /signup and /login pages to allow me to visit the site as a guest without signing up or logging in.
  • When I'm on either the /signup or /login pages:
  • I can click on a Demo User button to log me in and allow me access as a normal user.
  • So that I can test the site's features and functionality without needing to stop and enter credentials.

Sign Out

  • As a logged in user, I want to log out via log out button on the navigation bar.
  • While on any page of the site:
  • I can log out of my account and be redirected to the home page.
  • So that I can easily log out to keep my information secure.

Bills

  • As a logged in user, I should be able to create a bill with a specified amount of money and a descriptive label.
  • When I click Add an Expense button, a modal appears to input bill information.
  • The user should be able to specify amounts split between friends as well as specify a due date.
  • So that the user can keep track of amounts owed and when they are due.

Comments

  • As a logged in user, I should be able to view, create, edit, and delete comments associated with a bill.
  • When I click on a bill, I should be able to view a comment text box to add a comment as well as the already existing comments.
  • As the user who made the comment there should be an edit and delete button available to me
  • So that I can make changes to comments I've made or remove them if I no longer want my comment visible.

Friends

  • As a logged in user, I should be able to add another user as a friend
  • There should be a button available to me to click and add a user as a friend
  • Once a user is a friend there should be a button I can click to remove that person from my friends list
  • So that I am able to have other users I am splitting bills with available to me in my friends list

Search

  • As a logged in user, I should be able to search the users in the database to add as a friend
  • As a logged in user, I should also be able to search my friends to add to a bill
  • So that I am easily able to to find the users and friends I am wanting to add to bills

Transaction History - BONUS

  • As a logged in user, I should be able to view my history of settled bills I've been associated with
  • There should be a button I can click on that will load a component for me to view my history of transactions
  • Once a bill I am associated with is settled it will be added to my transaction history
  • So that I am able to view the amount of money previously spent on bills