Requirements - SCCapstone/EZBag GitHub Wiki

Requirements listed below in descending order of importance (User Experience Flow Order)

1. Scanner View

1.1 User can scan product barcode
1.2 User can go to checkout cart view
1.3 View the subtotal of the cart



2. Product Card View

2.1 User can hide card view
2.2 User can increment / decrement product quantity count
2.3 Can confirm product addition to cart

2.3.1 Store added product in browser local storage / cookies


3. Cart Checkout View

3.1 Display list of scanned products

3.1.1 Front-end framework for generating list given list of items with attributes {name, cost, quantity}
3.1.2 Query local storage for product list
3.1.3 Generate list from resulting query

3.2 Display the total cost of items in the cart

3.2.1 Query local storage for total cost
3.2.2 Display total cost from query

3.3 Checkout and pay for cart

3.3.1 Submit cart object to server to calculate price for payment methods (Apple Pay / Google Pay)


4. Completed Checkout View

4.1 Display unique cart ID
4.2 User can enter email or phone number to receive a digital receipt
4.3 Send SMS functionality [connect to SMS / messaging API]
4.4 Send email functionality [connect to SMTP server]
4.5 Add contact info and customer cart to database



5. Product search functionality

5.1 User can search for a product using the search bar
5.2 Display items that correlate to the user’s search
5.3 User can select item in search and add it to your cart



6. Business owner / employee login (to access live checkout and/or sales dashboards)

6.1 Business owners and employees can login in to see live checkout and sales dashboard



7. Business Home View

7.1 Once logged in, the employee / business owner can go click the “Sales Dashboard” or “Cart Verification” buttons to go to the respective view


8. Business Sales Dashboard View

8.1 Business owners and employees can view the number of customers using EZBag Scan-and-Go over time
8.2 Business owners and employees can view the number of sales per category, sales per sub-category, net profits, and sales over time.


9. Live Customer Checkout View

9.1 Employees can see recent customer checkouts through EZBag along with the date and time
9.2 Green indicates the customer cart was verified (bag checked by clerk upon exiting store)
9.3 Red indicates the customer cart was not yet verified
9.4 Employee can tap each cart list item to view the respective cart's verification view



10. Cart Verification View

10.1 Employee can view the customer cart number, checkout time, cart total, and number of items on the top banner of the view
10.2 Employee can scroll through customer cart items and their quantity below the banner.
10.3 Employee can click the "Verify" button to confirm that the customer cart was visually checked before customer left the store. Will bring user back to the live customer checkout view.



11. New Business Onboarding View

11.1 Business owner / representative of the business can enter name, address, email, and contact phone number to apply for EZBag at their store
11.2 Can press "Submit" button to complete onboarding application



⚠️ **GitHub.com Fallback** ⚠️