-
Notifications
You must be signed in to change notification settings - Fork 0
Task Description
Prabhav Jani edited this page Dec 22, 2020
·
5 revisions
This page will provide a description of the tasks performed by each team member.
| Task | Description |
|---|---|
| Admin APIs | Created APIs for Admin Streaming App for logging in admin, fetching admin information, creating/updating/deleting/getting admin channel (application database), creating users and updating channel status while starting and stopping broadcast on user created channel. |
| User APIs | Created APIs for User Viewing App for logging in user (two factor authentication), fetching user information and channels and filtering them by channel name. |
| Two factor authentication | Developed the API components to enable and power two factor authentication of the application |
| Detect faces using Microsoft API | Implemented functionality for detecting the number of faces and theirs Ids in a provided image to verify that each image has only one face present using Microsoft Face Detect API. |
| Verify two faces using Microsoft API | Implemented functionality for verifying if two provided face Ids are the same or not using Microsoft Face Verify API |
| Fetch liveSwitch Application Config | Implemented functionality to fetch application configuration from liveSwitch using their applicationConfig API |
| Authenticating users | Implemented functionality to verify that a valid user is trying to access the system using JWT tokens. |
| Authorizing users | Implemented functionality to verify the user roles before they accessed specific endpoint and restrict access to unauthorized users for that specific endpoint using JWT tokens |
| Database design and implementation | Designed database for users and channels and managed its access/storing/retrieving/updating/deleting from the API |
| User login information security | Implemented password hashing and salting using bcrypt.js to maintain user login information confidentiality |
| Task | Description |
|---|---|
| Login | Implemented the login functionality for user and admin app using supporting APIs. Implemented shared preference for saving the tokens after successful login. Used the tokens to validate and based on the token living time the user is logged in automatically the next time when the user tries to open the app. |
| Logout | Implemented logout functionality for user and admin app. Deleted the tokens from the shared preference when the user logs out so that the user will not be logged in automatically again. |
| Face Authentication | In the apps, developed the mechanism to click user images in real-time and implemented the detection and similarity verification of these images using supporting APIs. The Images are stores in the firebase. Only the original image at the time of created will be stored permanently in the firebase, the copy image that is stored when the user tries to do face authentication will be deleted immediately after the users face is authenticated. |
| Rooms Database | Created Database in Andorid using Rooms and implemented queries for storing/retrieving/deleting favorite user channels |
| Fragments | Implemented the tab layout using fragments and recycler views for the user app to display all user streams and user favorite streams |
| Search Functionality | Implemented Channel Search functionality for user app using supporting APIs. |
| Creating/Editing Channels | Developed the functionality of admin app to create and edit channel information using supporting APIs. |
| Creating Users | Implemented functionality to create new users using the admin app by providing name, age, email, password, and a valid user profile image. Whenever the admin captures the face, first an API is called to verify is the uploaded image has a valid face and once it is verified only then the user image is stored in the original. |
| Managing Firebase images | Developed the mechanism to manage various user images required for face detection and verification in both user and admin apps. |
| Managing Permissions | Integrated the mechanism to seek suitable user permissions before app proceeds with its functionality (if not already granted) |
| Task | Description |
|---|---|
| Favorites | Implemented the mechanism to fetch, mark , unmark and filter favorites for the user app |
| liveSwitch SDK for downstreaming | Implemented the complete mechanism for starting and stopping downstreaming video surveillance broadcasted by admin (for user app). - Created a RemoteMedia Class to access remote video and audio data(feed), prepare a decoder for decoding audio and video (feeds), and prepare the output device( for output). - Created a Helper to Use the RemoteMedia Object, to create a connection to channel and closing connection gracefully. |
| liveSwitch SDK for upstreaming | Implemented the complete mechanism for starting and stopping upstreaming video surveillance for the admin app. Created a LocalMedia Class to access Local video and audio data(feed), prepare an encoder for encoding audio and video (feeds), and prepare the feeds to send on the channel (for output). - Created a Helper to Use the LocalMedia Object, to create a connection to channel and closing connection gracefully. |
| Deleting channels | Implemented deleting of admin channels using supporting APIs. |
| Implementing chips for user email IDs | Implemented chips for adding/removing/displaying a list of users authorized for viewing a channel in the admin app |
| UI Modification | Implemented the complete UI ramp up for both the admin and user apps. Integrated Material Design and Logo animations in both apps |
For detailed information of our task distribution, please visit our Trello board