Register
Submit a solution
Status: ‌Cancelled failed review

Challenge Overview

Fast Scan Mobile Application is a modern and intuitive iOS and Android mobile application that enables Castrol customers to redeem incentive coupon codes.

This is the 2nd challenge in this series.

Tech stack

  • React Native
  • Typescript
  • Expo CLI
  • Minimum iOS: iOS 11
  • Minimum Android: Android 7.0

Scope

  • Walkthrough
  • Dashboard
  • Rewards
  • Points

Resources

Individual Requirements

In part 2, the requirement is to update the given RN native app by adding more features/flows. The app should be responsive to multiple screen resolutions, and adapt to the notch screens.

The given submission uses React Native CLI, so you can either keep using React Native CLI or convert it to Expo CLI

  • The help & QR scan menu links in the bottom nav bar can be dead links as they are out of scope.
  • Don’t hard code data into components, it should come from JSON format data files.
  • This is a multilingual app, it should support English & Thai languages. To get the Thai translation of keywords & text, use google translate.
  • Use the existing english & thai json files to add more text specific to this challenge.

1. Walkthrough

Ref: Walkthrough flow

This flow should be visible to the first time users only. Create a config variable _isWalkthroughEnabled _in userSettings. A userSettings config can be created that will store the user related info, how you create this is up to you. If isWalkthroughEnabled is true then the walkthrough page will be visible after login, otherwise after login the user should be directly navigated to the dashboard.

future.

  • Clicking Next/Prev should navigate to next/prev flows.
  • Clicking Skip or X icon should skip/cancel the walkthrough.
  • Multi-lang should be supported for all texts in this flow.

2. Dashboard

Ref: Dashboard flow (005_003_dashboard to 005_007_dashboard)

Follow the storyboard flow to implement this.

  • View Silver benefits can be a dead link. The corresponding flow is out of scope.
  • The QR code scanner is out of scope. Clicking this button should do nothing.
  • Clicking the Profile icon should do nothing. The corresponding flow is out of scope.
  • The alternate version (006_003_dashboardalt) of the dashboard page is out of scope.
  • Redeem points navigate to the 3. Rewards flow, explained below.
  • Show scan history should navigate to the scan history page of the Points flow.
  • Multi-lang should be supported for all texts in this flow.

3. Rewards

Ref: Rewards flow

Clicking the “Gifts” icon in the bottom nav bar navigates to this page.

  • The points to expire section may or maynot appear, dependending to value of points to expire. If it’s null or 0, this section should not appear. Create an attribute pointsToExpire in _userSettings _to simulate both the cases & document this in the readme.
  • They see all buttons in different sections like “Food & beverages, Vacations…” show all the options as it’s here.
  • See All pages of all the sections (Food & beverages, Vacations…) should show the same page with different page titles depending on the section.
  • Implement the UI of the filter section. The actual filtering is out of scope.
  • For the “Custom” option of the time, make sure to implement the range picker.
  • The quick navigation menu also shows these see all pages.
  • Multi-lang should be supported for all texts in this flow.

4. Points

Ref: Points flow

Clicking the “Points” icon in the bottom nav bar opens this page.

  • Implement this flow by following the storyboard, it’s straightforward.
  • Implement the UI of the filter section. The actual filtering is out of scope.
  • For the “Custom” option of the time, make sure to implement the range picker.
  • Multi-lang should be supported for all texts.

Submission deliverable

  • Submit a patch against the master branch.
  • Update the Readme.md file if required.
  • Verification doc or video is NOT required.

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30183997