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