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)
-
NodeJS REST API https://gitlab.com/bank-ambassador/rest-api (there is swagger folder that contains the swagger defintion of the API)
-
Ionic Prototype https://gitlab.com/bank-ambassador/mobile-app
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
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.