Key Information

Register
Submit
The challenge is finished.

Challenge Overview

 

The goal of this challenge is to connect the provided ionic application with a backend API.

The outcome of this challenge will be a fully functional ionic application in both android and ios platforms.

Challenge Requirements

API and Ionic App

The source code for both are hosted in gitlab (both include README for deployment)

Please check forums to get access.

API-UI Field Mapping

This excel sheet detail the mapping between the API request/response fields and the ionic screens UI fields

https://docs.google.com/spreadsheets/d/1EI65Aj0A2CSnLdmJHSsNMXJookYebizWS3v5RzYB3Tw/edit#gid=0&vpid=A2

REST API and Swagger

We have the API hosted in this endpoint : http://54.208.218.30:4000  

You can open the swagger definition in the API repository in http://editor.swagger.io/#/ and directly test the api we are hosting or your own node API installation.

It is up to you to use this endpoint or deploy the nodejs API in your own server.

Functionality Requirement

You are integrating the screens with the backend API. Use the swagger

- Login Screen :

- We don’t have a screen for signup, you will reuse the users populated by the nodejs test data generator.

- Speech to text is out of scope.

- Search result screen :

- Recently viewed div area in search contacts screen list the recently viewed contacts in the past 7 days.

- It should use the History storage to retrieve the information.

- If no search done it should list contacts without search query parameters

- Pull to refresh, searching, pagination, sorting, and location filtering should be functional.

- It should use default user mail application to send email.

- It should make a phone call if user clicked on phone numbers.

- Profile Screens :

- You can slide left/right to view all profile screens.

- Screen content should be loaded only when navigating to it for first time, next time it should be a pull to refresh to refresh content.

- It should use default user mail application to send email.

- It should make a phone call if user clicked on phone numbers.

- Pull to refresh, searching, pagination, sorting, and location filtering should be functional.

- Create Referral

- Product of Interests dropdown be populated using /sales/productsOfInterest endpoint

- Create Service Request

- Service Type drop down options should be populated using /services/types endpoint.

- History Screen

- It will store the contacts viewed locally in the ionic app local storage.

- History will be grouped by duration as shown in the UI (today/week/month/all)

- Logout :

- This will destroy/delete the login token and take user to login screen.

 

If there is any requirements not clear please ask in forums.

Android/iOS Build

Your solution must work in both Android and iOS platforms.



Final Submission Guidelines

Deliverable

- Git patch file of the updated application.

- Updated README file for deployment instructions and configurations.

- Verification steps to verify your work.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30051190