Register
Submit a solution
The challenge is finished.

Challenge Overview

This series of challenges is designed to evaluate your skills as a native Android + Kotlin developer. Upon successful completion of the Level I Challenge, we will invite you to Level II. We are still developing additional challenges in this series to test the wide range of Android competencies, so there may be more challenges beyond level II. Once you have successfully completed at least the intermediate level challenges, you will become eligible to join TaaS groups that require the Android + Kotlin development skillset. Those with basic and advanced level skills, especially those without Topcoder records in Android development, are strongly encouraged to participate.

 

Don’t hesitate to participate if you are just an Android + Java developer, you can quickly switch the language to Kotlin. The development is still under the Android framework, just the programming language is changed to Kotlin. Kotlin is also a language based on JVM, which helps you get into it easily.

 

Technologies

  • Android

  • Kotlin

  • Minimum API Level: API 19: Android 4.4 (KitKat)

Requirements

In this challenge you need to develop an Android native app to show the current COVID-19 cases with the following requirements:

Data source

The data source of COVID should be from https://corona-virus-stats.herokuapp.com/api/v1, you can see the API details from the Postman: https://documenter.getpostman.com/view/4074074/SzS7Pkup?version=latest

 

Main screen

When the app is launched it shows the main screen that contains:

  • 3 tabs at the bottom: Total Stats, Region Stats, COVID Map;

  • Total Stats screen opened by default (showing its title and content).

  • All the three screens share the same toolbar, the toolbar should show the name of the current active screen.

  • The toolbar should also have a "Share" button which will allow the user to share the current screen's screenshot using standard Android dialog.

 

When the user taps on any of the bottom tabs, the corresponding screen should be opened, the title should be changed correspondingly and the button should be highlighted to reflect the opened screen.

Total Stats screen

This screen shows the general stats of the COVID around the world, it should include four cards as below to show

  • Total confirmed cases

  • Current infected cases

  • Recovered cases

  • Deaths

Here is a sample layout for your reference, you don’t have to strictly follow the same.

It should also include a pie chart on the screen to show the percentage of the Current infected cases, the Recovered cases, the Deaths.

Region Stats screen

This screen lists the regional stats of the COVID of each country/region, it should have a scroll view that includes the cards for every country/region. The cards should be ordered by the total confirmed cases descendingly.

Here is a sample layout for your reference, you don’t have to strictly follow the same.

By clicking on each card, pop up a bottom sheet to show the details of the country/region. The bottom sheet should include

  • Total confirmed cases

  • Current infected cases

  • Recovered cases

  • Deaths

  • A pie chart to show the percentage of the Current infected cases, the Recovered cases, the Deaths.

Here is a sample layout for your reference, you don’t have to strictly follow the same.

COVID Map screen

This screen shows a google map with markers, each marker represents a country/region, by clicking on the marker, it pops up the same bottom sheet of Region Stats screen to show the details of the country/region.

General requirements

  • You should show a loading screen while fetching data from the API.

  • The UI design/layout is up to you, but it should follow the Material Design.

  • The code should be properly documented.

Important notes

  • There are no Appeals / Appeals Response in this Challenge. Copilot / PM decision is final.

  • You don't have to provide your own Google Map API key, the reviewers are supposed to use their own key for the review.

  • Once you complete this challenge, please notify us in the forum so that we could verify and move you to the Level 2 challenge asap.

 



Final Submission Guidelines

Submit a zip archive, including:

  • The full source code of your app.

  • A video showing your app in action. Please upload your video elsewhere (like in Youtube, Google Drive, Dropbox etc) and share the link in your submission.

  • README.md file describing how to deploy and run your app.

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30124665