Project Description - SCCapstone/EZBag GitHub Wiki
Background
Scan-and-go is a form of self-checkout which has recently been growing in popularity with big-box stores. A patron at a participating store can use an app on their phone to scan and pay for items without going through the typical checkout process.
Motivation
While scan-and-go streamlines the shopping experience, and can thus increase sales, scan-and-go requires R&D costs that are too expensive for small-box stores.
Our Solution
EZBag will be a free scan-and-go web application (HTML/CSS/Js/WASM) service targeted at small-box stores which cannot afford to implement such a service by themselves. The goal of this project is to create a minimum viable product that will satisfy the requirements of the following user experience flow:
- Scan a QR code at the store entrance to open the ezbag web app
- Enable camera permissions
- Scan any product's barcode (EAN, UPC) with my mobile phone camera
- Automatically present scanned product card on screen
- --> Buzz when product scanned
- --> Lazily slide to increase the item quanity on the item popup
- --> Cancel addition of product to cart via X button
- --> 3 seconds of no product card interaction automatically adds item to user's cart
- --> Allow scanning of products in background (behind card)
- --> Upon scan of another product, remove old product card and present newly scanned product's card
- Open cart view when pressing cart button in top right
- --> Checkout via Apple Pay
- --> Checkout via Google Pay
- Display QR code digital receipt
- Display input form for email and/or phone number to send the digital receipt to the customer.
Architecture
- Hosting
- Digital Ocean droplet
- Backend
- Database
- Firebase realtime database
- REST API
- Payment Processing
- Apple Pay
- Google Pay
- Database
- Frontend
- Analytics
- Google Analytics
- Design Components
- HTML, CSS, Material
- Logic and API
- Vanilla Javascript
- Barcode Scanner
- Scandit SDK : NodeJs
- Analytics