-
Notifications
You must be signed in to change notification settings - Fork 0
User Stories
A1 - Approving/Blocking User Accounts: As an admin, I want to be able to approve/block user accounts, so that I can remove unwanted users from the site.
Task Breakdown:
- Admin requests to review a user.
- Request data of user to review.
- If user data is valid, navigate the admin to the user's information page. Otherwise, display an error to the admin and prompt the admin to either change the provided information or abort.
- Admin requests to block user.
- If action is successful, display success to the admin. Otherwise, display an error to the admin.
Acceptance Testing:
- User registers as a seller.
- User awaits approval from admin.
- User can begin selling.
A2 - Approving/Removing Products: As an admin, I want to be able to approve/remove a seller's products, so that I can remove unwanted products from the site.
Task Breakdown:
- Admin requests to review a seller catalogue.
- Request data of seller catalogue to review.
- If seller catalogue data is valid, navigate the admin to the user's information page. Otherwise, display an error to the admin and prompt the admin to either change the provided information or abort.
- Admin requests to remove item from catalogue.
- If item is valid (exists), remove the item from the catalogue and display success to the admin. Otherwise, display an error to the admin.
Acceptance Testing:
- User posts and item for sale as a seller.
- User awaits approval of said item.
- User can begin selling that item if approved.
A3 - Overseeing User Actions: As an admin, I want to oversee user actions (such as checking out), so that I can know when a user is committing an unwanted action.
Task Breakdown:
- Admin requests to review a user.
- Request data of user to review.
- If user data is valid, navigate the admin to the user's information page. Otherwise, display an error to the admin and prompt the admin to either change the provided information or abort.
- Admin requests to view user activity.
- If action is successful, display the user's activity to the admin. Otherwise, display an error to the admin.
Acceptance Testing:
- User uses the site as normal and accomplishes different tasks.
- If a user commits a forbidden task, an admin can override that action.
B1 - Account Creation: As a customer, I want to create an account, so that I can use the site.
Task Breakdown:
- Prompt the user to fill in data for a new account.
- If the data is both valid AND not already present in the database, create the account (populate database with new information).
- Display success to the user and prompt them to log in.
Acceptance Testing:
- The user opts to create an account.
- The user fills out the necessary information.
- If any information is invalid or left blank, the user is asked to fix it.
- If all information is valid, the user may become a customer/seller.
B2 - Log-in/Log-out: As a customer, I want to be able to log-out and log-in of the site, so that I am not always logged in.
Task Breakdown:
- Prompt the user for their information (account name and password).
- If the data is a valid pair, then allow the user to continue to the site.
Acceptance Testing:
- The user enters their information into the login fields.
- If any information is invalid, the user is asked to reenter the correct information.
- If the user does not exist, the user is asked to register a new account.
- When the user successfully logs in, they may log out any time they like.
B3 - Shopping Cart: As a customer, I want to add items to my shopping cart, so that I can review what I am ordering and checkout.
Task Breakdown:
- User requests to access cart.
- User requests to add an item.
- Request the item identifier.
- If the item identifier is valid, add the item to the cart. Otherwise, display an error to the user and request that the user enter a new value or abort.
Acceptance Testing:
- User browses the store and adds chosen items to cart.
- User navigates to cart and reviews order.
- User completes the order and checks out.
B4 - 'Save for Later:' As a customer, I want to be able to save items for later, so that I can easily see which items I want without having those items in my shopping cart.
Task Breakdown:
- User requests to view items.
- Return the item catalogues from the product database.
- User requests to view an item.
- If the item exists, return the item data. Otherwise, display an error to the user.
- User requests to save the item.
- If the action processes successfully, display success to the user. Otherwise, display an error to the user.
Acceptance Testing:
- User navigates to cart.
- User decides to not purchase an item.
- If applicable, user may select item to save for later, rather than deleting.
B5 - Editing User Information: As a customer, I want to edit my user information, so that I can change my username and password.
Task Breakdown:
- User requests to edit account information.
- Request new information.
- If new information is valid, is different than the old information, and does not already exist in the database, display success to the user. Otherwise, display an error explaining the reason the action failed (invalid, no change, or duplicate) to the user.
Acceptance Testing:
- User navigates to profile.
- User selects field of information to edit.
- User edits the information.
- If any information is invalid or blank. the user is asked to reenter the information.
- Information is then edited.
C1 - Posting/Removing Products: As a seller, I want to be able to post/remove products to/from my page.
Task Breakdown:
- User requests to edit their catalogue.
- Return user catalogue data.
- User adds a new item.
- If the new item is valid (valid information and all necessary fields filled), display success to the user and add the item to their catalogue. Otherwise, display an error to the user and return them to the add item page, with a message stating what data needs to be fixed/added.
- User removes an item.
- If the item is valid (exists), display success to the user and remove the item from their catalogue. Otherwise, display an error to the user and return them to the remove item page, with a message stating what data needs to be fixed/added.
Acceptance Testing:
- Seller has item they wish to add.
- Seller navigates to their store to add product.
- Seller enters necessary information into fields.
- If any information is invalid/blank, the seller is asked to reenter the information.
- The item is posted to the store.
- If seller has item they wish to remove, they can navigate to their store and remove it.
C2 - Receiving Payments: As a seller, I want to be able to receive payments for my products from customers.
Task Breakdown:
- Customer purchases items in shopping cart.
- Customer provides payment information.
- Transaction information and payment information is passed to the seller database.
- The payment for the transaction is processed.
- Funds are transferred to the seller.
Acceptance Testing:
- Seller awaits purchase.
- Upon purchase, seller is notified and payment is processed to seller's account.
- Seller may withdraw from balance at any time.
C3 - Setting Prices: As a seller, I want to be able to set and edit the prices for my prices.
Task Breakdown:
- User requests to edit their catalogue.
- Return user catalogue data.
- User chooses to edit a catalogue item.
- If the item exists, take the user to the item's page. Otherwise, display an error to the user.
- User edits item price.
- If action is successful, display success to the user. Otherwise, display an error to the user.
Acceptance Testing:
- Seller navigates to their store and views products.
- Seller selects item they wish to edit price on.
- Seller edits price field.
- If price is invalid number or blank, seller is asked to reenter information.
- Item is edited and updated to store.
C4 - Setting Stock Numbers: As a seller, I want to be able to edit the amount of a product that is currently in stock.
Task Breakdown:
- User requests to edit their catalogue.
- Return user catalogue data.
- User chooses to edit a catalogue item.
- If the item exists, take the user to the item's page. Otherwise, display an error to the user.
- User edits item stock.
- If action is successful, display success to the user. Otherwise, display an error to the user.
Acceptance Testing:
- Seller navigates to their store and views products.
- Seller selects item they wish to edit quantity of.
- Seller edits quantity field.
- If quantity is invalid number or blank, seller is asked to reenter information.
- Item is edited and updated to store.