Register
Submit a solution
The challenge is finished.

Challenge Overview

CHALLENGE OBJECTIVES
  • Update an existing React Native mobile app to integrate with the Android version of Zoom, Firebase and AppCenter SDKs.
  • Make sure the Android build works properly.
 
PROJECT BACKGROUND
  • We are building a mobile app that allows patients to schedule and participate in teleconsultations on their mobile device, and a web app that allows doctors to view teleconsult schedules and participate in teleconsults from a desktop device.
  • We have finished phase 2 of the project and in phase 3 we are going to implement more features and support Android as well.
 
TECHNOLOGY STACK  
API INTEGRATION
Existing screens in the base code were already integrated with the API and these must NOT be broken, otherwise it will be considered a major requirement issue in the scorecard.
 
The base code fully works on iOS, but on Android we need to complete the Zoom / Firebase / AppCenter SDK integrations, which is the purpose of this challenge.
 
DETAILED REQUIREMENTS
The following requirements are in scope of this challenge.
 
Zoom Integration for Android
  • After creating an account, you’ll be able to create an appointment with a doctor which would be a video call.
  • From the web app (login details to be provided in the forum), start the call, then the appointment in the app would allow you to tap it and enter the call.
  • You’ll need to first submit payment (using a test credit card number here) and then you should be able to join the video call.
  • The above already works on iOS, but on Android the Zoom piece is not working yet. The major requirement of this challenge is to make Zoom work on Android as well, and it should have the same behavior as the iOS version.

Firebase and AppCenter SDK Integration for Android
  • The iOS app was integrated with Firebase (for google analytics) and AppCenter (for crash report) SDKs already, we need to make sure the same integration is done for Android.
 
General Testing & Fixes
  • The rest of the features should work on Android already but there might be some minor issues that need to be addressed on Android, please test through the app and fix any noticeable issues (should be very few). If any issue appears to be major please post to the forum to let us know and we’ll decide how to handle it.
  • The end goal is that the Android version should work the same as the iOS version.
 
GENERAL REQUIREMENTS
  • Must follow the provided design unless changes are explicitly mentioned above.
  • The UI must work on all mainstream screen sizes (both iOS and Android).
  • Show loading spinners when populating data from API / local JSON to UI
  • Implement validation errors (for example: invalid input on login / signup screen)
  • No errors with prod builds
  • You are expected to create a detailed README file including information on how to setup, run and verify your application.
 
CODE REQUIREMENTS
  • Follow the existing coding convention and standards in the base code.
  • Ensure that there are no lint errors.
  • Follow a clean folder structure.
  • Create reusable components.
 
JAVASCRIPT REQUIREMENTS
  • All JavaScript must not have a copyright by a third party. You are encouraged to use your own scripts, or scripts that are free, publicly available and do not have copyright statements or author recognition requirements anywhere in the code.
  • Use ES6 linter for code quality
 
LICENSES & ATTRIBUTION
  • Third-party assets used to build your item must be properly licensed and free for commercial use. MIT and Apache v2 licenses are ok, for any others please check with us to get approval first.
  • Sufficient information regarding third-party assets must be present in your documentation. This includes the author, license info and a direct link to the asset online.
 
OS REQUIREMENTS
  • iOS 13+ (iPhones in portrait mode only)
  • Android 8+ (phones in portrait mode only)


Final Submission Guidelines

  • Full code that covers all the requirements.
  • A detailed README file including information on how to set up and run your application.

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30127527