Skip to content

Requirements

Zack edited this page Oct 7, 2022 · 1 revision

Requirements

Requirements are organized by functionality, with sub-numbering used to further specify user capability. Each requirement also has a priority level:

  • 🌱: Required
  • 🌿: Desired
  • 🌻: Aspirational

1. The user can browse products in the app. 🌱

  • 1.1. The user can view the product's name. 🌱
  • 1.2. The user can view the product's price. 🌱
  • 1.3. The user can view the product's description. 🌿
  • 1.4. The user can see that a product is on sale. 🌿
    • 1.4.1. The user can see the sales price compared to the original price. 🌿
  • 1.5. The user can view the stock of a product: high, low, and temporarily unavailable. 🌿
  • 1.6. The user can specify the number of products to view at one time. 🌿
  • 1.7. The user can view what a product looks like. 🌻
  • 1.8. The user can review a sales page that highlights products on sale. 🌻
  • 1.9. The user can navigate to a product's information screen. 🌱
    • 1.9.1. The user can view related products as suggestions. 🌻
  • 1.10. The user can add a product to a favorites list. 🌻

2. The user can access a shopping cart. 🌱

  • 2.1. The user can add products to the cart. 🌱
  • 2.2. The user can remove products from the cart. 🌱
  • 2.3. The user can view products in the cart. 🌱
  • 2.4. The user can view the total price of all products in the cart. 🌱
  • 2.5. The user can checkout products in the cart. 🌱
    • 2.5.1. The user can choose to have products delivered or available for pick-up. 🌱
      • 2.5.1a. The user can input the delivery address. 🌱
      • 2.5.1b. The user can check the estimated delivery time. 🌱
      • 2.5.1c. The user can be warned if a delivery will be postponed to the next available day if a store is closed. 🌿
    • 2.5.2. The user can input billing information. 🌱
  • 2.6. The user can have their cart contents saved locally. 🌿
  • 2.7. The user can receive a warning from any unavailable products in their cart during checkout. 🌿

3. The user can search for products using a search bar. 🌱

  • 3.1. The user can search for products by product name. 🌱
  • 3.2. The user can search for products by product ID number. 🌿
  • 3.3. The user can search products by related terms. 🌿

4. The user can sort products after a search. 🌿

  • 4.1. The user can sort products by price ascending. 🌿
  • 4.2. The user can sort products by price descending. 🌿
  • 4.3. The user can sort products alphabetically ascending. 🌿
  • 4.4. The user can sort products alphabetically descending. 🌿
  • 4.5. The user can sort products by unit price. 🌿

5. The user can filter products after a search. 🌿

  • 5.1. The user can filter products by product categories (e.g. dairy, beverages, etc.). 🌿
  • 5.2. The user can filter products by if they are on sale. 🌿
  • 5.3. The user can filter products by if they are in stock. 🌿
  • 5.4. The user can filter products by countries of origin. 🌿
  • 5.5. The user can filter products by whether they are favorited. 🌻

6. The user can search for stores to select products from. 🌱

  • 6.1. The user can view a store's hours of operation. 🌱
  • 6.2. The user can specify their location to find stores based on location proximity. 🌻

7. The user can rely on Android's native accessibility apps to use the application. 🌱

  • 7.1. The user can rely on a screen reader to help navigate through the application. 🌱
  • 7.1. The user can rely on Apple's native accessibility apps to use the application. 🌻

8. The user can navigate between application screens using a navigation bar. 🌱

  • 8.1. The user can navigate to their cart. 🌱
  • 8.2. The user can navigate to the product browsing screen. 🌱
  • 8.3. The user can navigate to application settings. 🌱
  • 8.4. The user can navigate to their shopping history. 🌿

9. The user can use an account for the application. 🌿

  • 9.1. The user can create an account for the application. 🌿
    • 9.1.1. The user can use their email and password for account creation. 🌿
      • 9.1.1a. The user can have a password at least 8 characters long, with at least one of each of the following: an uppercase letter, a lowercase letter, a number, and a non-alphabetic character. 🌿
  • 9.2. The user can login to their account using their email and password. 🌿
  • 9.3. The user can login to the application via the account they created. 🌿
  • 9.4. The user can view the shopping history associated with their account. 🌿
  • 9.5. The user can view favorited products associated with their account. 🌻

10. The user can modify various settings for the application. 🌿

  • 10.1. The user can give permissions for the application to access their device's current location. 🌻
  • 10.2. The user can reset their password via email notification through the settings screen. 🌻
  • 10.3. The user can clear their shopping history through the settings screen. 🌿

11. The user can go through a tutorial for using the application on first launch. 🌻

12. The user can scan product barcodes through the application. 🌻

  • 12.1. The user can receive information about a scanned product if that product's information is available. 🌻
  • 12.2. The user can receive guiding assistance for scanning bar codes. 🌻
    • 12.2.1. The user can feel increasing vibrations when the barcode gets closer to the center of the camera. 🌻
    • 12.2.2. The user can hear guide tones when the barcode gets closer to the center of the camera. 🌻
  • 12.3. The user can apply a high contrast filter to the camera feed. 🌻

13. The user can cleanly use the application on other devices. 🌻

  • 13.1. The user can use the application on phones with iOS. 🌻
  • 13.2. The user can use the application from a web browser. 🌻
Clone this wiki locally