| Basic | Additional | Purpose | Result |
![]() |
![]() |
![]() |
![]() |
- Gather user information from 3 onboarding steps.
- Basic information: Full name(required), Id Number(required, Vietnamese Id format).
- Additional information: Email(required, email format), Phone Number(required, Vietnamese phone number format); Date Of Birth(required, at least 18 year old).
- Purpose: List of purpose of new account (choose at least 1 option).
- Order of the onboarding flow should be configurable. Change
config.tsfile. - Three onboarding steps have been written with fully component testing.
yarn installcd ios && pod install- At the root folder:
yarn iosoryarn android
yarn test
This project has been built with:
- Typescript
- React, React Native
- React Native Paper (Theme & Component)
- React Hook Form (Each onboarding step state management)
- React Context (Global State for onboarding model)
- React Native Testing Library (Component / Unit Testing)
- Due to the lack of time, I decide to use React Native Paper for fast development.
- Due to the purpose of assignment, many components and the app have not been optimized performance yet.



