Challenge Overview
Welcome to “Remote Expert - Backend Update - Add iOS Push Notification”. In this challenge, we want to update the existing backend API to add iOS push notifications for VoIP calls.
CONTEXT
PROJECT CONTEXT
This project aims to build an iOS (iPhone) application that will help field service personnel to identify documents, videos, and/or remote experts to assist them with solving issues in the field while they're working.
The app should leverage ARKit to allow AR objects to be shown during live video calls that will improve the ability of remote experts to provide contextual cues to a user during a video call.
CHALLENGE CONTEXT
In this challenge we are going to update the existing backend API to add iOS push notifications for VoIP calls.
CHALLENGE DETAILS
TECHNOLOGY
- Node.JS 12+
- Nest.Js
- MongoDB
- Swagger
- VoIP push notifications
INDIVIDUAL REQUIREMENTS
- Keep track of logged in users ("online") and their device ids
- Once an user log in we need to record the device id and type (android or iOS) and set an online status to true
- If user logs off or token expires set set an online status to false and delete device id and type
- When a call is made to "POST /experts/\(expertId)/videoCall":
- if user is "online" and device type is iOS => do a VoIP push notification
- if user is "offline" and device type is iOS => throw error
- Reference:
- The push notification payload must be:
- Caller id
- Callee id
- Channel name
- Existing source code will be provided
- Member needs to provide means of validating the application
Final Submission Guidelines
- Updated source code
- Detailed validation and setup guide