Challenge Overview
Welcome to the XPrize Visioneers Native Android App Prototype Challenge.
The goal of this challenge is to take the provided UI Design in Sketch and convert it to a native Android application prototype. This is the first in a series of challenges to build this Android app so now is a good time to get involved!
Challenge Requirements
In this challenge you will develop an Android app that has all screens provided in the provided design. Note the following:
- We have provided the Sketch source files in the forums
- All design assets, fonts are provided in the forums
- The design is very detailed to show all variations. If there is anything not clear please post questions in forums.
- Use JSON files/ data classes for mock data. The objective is that it should be possible to easily stub out these calls with actual backend API in subsequent challenges.
Screen Requirements
Only the screens listed below in the Sketch design are in scope, refer to them and and let us know in the forums if you have any questions. The notes below are to help understand some screens/ elements better but aren’t exhaustive.
04_Login
-
Implement all validations and modal dialogs as shown
-
Use spinner as shown
05_Dashboard
-
Implement slider as shown
-
Clicking phone and mail icons to invoke respective applications
-
No action is required on clicking Skype icon for now
06_Financials
-
Use an open-source chart library
-
You can mock the chart data for now as long as the charts match the design in terms of visualisation
08_News
-
Implement carousel as shown
09_Messages
-
Swiping right to left should shown delete option in listview
-
Implement all elements on all screens as shown
11_Profile
-
Clicking Logout should redirect user to login screen
-
Clicking Camera icon should allow user to click a picture or choose from gallery
12_Empty_States
-
Add a flag in the config file called isEmpty
-
If isEmpty is true, then show these screens to simulate the no network condition
13_Assets
-
Contains all needed assets
General Notes
Note the following :
- The app will be locked to Portrait mode
- Only phone is in scope. Tablet is not in scope. App should support all devices above from Android 6.0 and above
- The implementation must be a native application, native controls must be used wherever possible
- All code must be written in Java and the project must use latest Android Studio. Use gradle for dependency management
- Please ask in the forums if you wish to use any open-source third-party libs to ensure there are no license violationsFinal Submission Guidelines
Deliverables
- Android Studio Project with all source code that addresses the requirements
- Deployment guide with configuration & verification steps. Describe all config params and include steps to run
- Demo video (Mandatory and will be scored down if not provided)