...
How to translate hash into visual QR code?
Example:
View file name qrcode.js “Hello World” ->
Evaluate existing WL QR code component that already translates barcode
If a customer makes an order from one platform, will it be available in another platform? Eg.1: Customer orders in Web and signs in Android. E.g2. Customer orders in Android and signs in IOS.
For v1, no. As improvement, we can persist the hash in database and implement an API to make a query in order to get the last order with hash and still valid in terms of duration.
For which platforms will it be available?
IOS and Android. Web is out-of-scope.
Depending on the service mode, customer can schedule when to take the order. Should the QR code be displayed anyway?
Yes. If it expires in bottom sticker, customer can still go to recent order page
Do we need to validate if the Order is still active (Not refunded)? Reason - avoid refill drinks for customers with cancelled order.
We need to ensure that the order status is either INSERT_SUCCESSFUL or UPDATE_SUCCESSFUL. See the order flow below
Checking if the edit time modification / cancellation was indeed implemented : thread
Epic Breakdown
Backend Services - (20) → APPROACH 1
Packages (Interface) - 2
Change the IPartnerOrder interface to add a new refillDrink field. (Interface).
Commit Order - 13
intl-partner-api - Callback- (5)
Add new field "refillDrink" in DynamoDB update (Reference Code) (3)
Add new field “hash” as optional in DTO. (2)
intl-partners-service - (5)
Add new field "refillDrink" in DynamoDB update (Reference Code) (3)
Add new field “refillDrink” in Webhook Order interface (Interface) (2)
intl-fulfillment-service - (3)
Add new field “refillDrink” in GraphQL (Reference Code)
intl-withelabel-graphql - (5)
Add new field “refillDrink” in orders.ggl (Reference Code)
Front-end
Place Secure Order
Get Order - 10
graphql - get order with refill drink hash - 5 ✅
database get order with refill drink hash - 5 ✅
Hook Refill Drinks - 37
Validate Get Order - check Refill Drinks hash - 5 ✅
Validate Service Mode (Sanity) - 8
Trigger bottom sticker - 8 ✅
New modal of QR code - 8 ✅
Convert hash to QR code - 8 ✅
Recent Order Page - 13
Hook Refill Drinks banner
Validate Orders
Read bottom sticker order - 3 ✅
Read Sanity Config (duration) - 5
Apply logic to show banner - 5
Home Page - 20
Check if there’s QR code order in cache - 5 ✅
Read Sanity config (sticker duration) - 5
Apply logic to show bottom sticker of QR code - 5
Add/Remove QR code order in cache - 5
Sanity - 16
New Feature Refill Drinks - 8
Duration of bottom sticker - refill drinks
Duration of recent order - refill drinks
Configuration of service modes - 8
Feature Flag - 3
New feature flag for front-end
New feature flag for back-end
Testing - 34
Testing Plan
Dev - using mocks
QA, STG, PROD - using integration with Winrest
Validations in dynamodb
Validations of durations of QR code
bottom sticker
recent order sticker
Validation of the last order QR code
Validations using native devices
responsiveness
QR code reading