The onboarding screen is the new first screen for the FV flow. Its purpose is to explain to users the purpose of doing the face verification, creating a wallet, and to also collect from users their explicit consent to our terms of use and privacy policy. The onboarding screen also shows the GoodID Card component.
Detailed Description of Functionality
A user arrives on this screen by clicking on the claim button. (See wallet/dapp implementation under 'Technical implementation' below for how this should work)
If a user is new, or an existing user expiry date is within the next three months it should navigate to the face-verification flow
The user is redirected to the fv-flow by using a passed-down navigate method (wallet), or it will be using the existing useFVLink (others, like gooddapp)
if it is an existing user, but their expiry date is longer than three months in the future the user is guided to the segmentation screen by loading the SegmentationController
How we know if the feature is working as expected / how we test it.
[ ] Scenario: New user, not connected
Given a new user who is not connected
When the onboarding screen is displayed
Then the GoodID card component should be blank
And the user should be invited to "Get" a GoodID
[ ] Scenario: New user, connected but not face verified
Given a new user who is connected
When the onboarding screen is displayed
Then the user's wallet address should be shown in the wallet address field
And the user should be invited to "Get" a GoodID
[ ] Scenario: Existing user
Given an existing user
When the onboarding screen is displayed
Then all available information, including name, photo, verification status and expiration date, should be shown
And the user should be invited to "Renew" their GoodID
Business Description
The onboarding screen is the new first screen for the FV flow. Its purpose is to explain to users the purpose of doing the face verification, creating a wallet, and to also collect from users their explicit consent to our terms of use and privacy policy. The onboarding screen also shows the GoodID Card component.
Detailed Description of Functionality
A user arrives on this screen by clicking on the claim button. (See wallet/dapp implementation under 'Technical implementation' below for how this should work)
The (onboard screen) can have various states:
New user, not connected:
New user, connected but not face verified:
Existing user
The (onboard screen) has two potential next routes
If a user is new, or an existing user expiry date is within the next three months it should navigate to the face-verification flow The user is redirected to the fv-flow by using a passed-down navigate method (wallet), or it will be using the existing useFVLink (others, like gooddapp)
if it is an existing user, but their expiry date is longer than three months in the future the user is guided to the segmentation screen by loading the SegmentationController
Technical Implementation
(Wallet implementation) (GoodDapp implementation)
Acceptance Criteria
How we know if the feature is working as expected / how we test it.
[ ] Scenario: New user, not connected Given a new user who is not connected When the onboarding screen is displayed Then the GoodID card component should be blank And the user should be invited to "Get" a GoodID
[ ] Scenario: New user, connected but not face verified Given a new user who is connected When the onboarding screen is displayed Then the user's wallet address should be shown in the wallet address field And the user should be invited to "Get" a GoodID
[ ] Scenario: Existing user Given an existing user When the onboarding screen is displayed Then all available information, including name, photo, verification status and expiration date, should be shown And the user should be invited to "Renew" their GoodID