Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • How to translate hash into visual QR code?

  • 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

      Image RemovedImage Added

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)

      • intl-withelabel-graphql - (5)

  • 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