Skip to content

Official PocketCare S Web portal for Call for Code 2020, COVID-19 Track.

License

Notifications You must be signed in to change notification settings

PocketCareS/WebPortal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PocketCare S - Web Portal (Front End)

Call for code submission for COVID-19 track.

PocketCare S is a comprehensive smartphone-based solution for monitoring close encounters. It is a bluetooth low energy (BLE) based solution which enables smartphones to send and receive anonymous beacon signals. It checks the distance between a smartphone and another beacon (or smartphone running PocketCare S) to see if they are close to each other (less than 2m). If so, the smartphone records the duration of such a close encounter with another beacon.

PocketCare S is designed to report social distance information without collecting or revealing any personally identifiable information about any specific individual.

Contents

  1. Demo Video
  2. The Architecture
  3. Getting Started
  4. How does PocketCare S Work?
  5. Built With
  6. Project RoadMap
  7. Further Readings
  8. License
  9. Acknowledgments

Demo Video

Demo

If you're having trouble accessing the video, click here.

The Architecture

Architecture

Getting Started

Prerequisites for installation on local machine

Before you begin, make sure you satisfy the following requirements in order to run the server on your local system:

  1. NPM (node package manager) which can be installed from here

Running the application on local system

  1. Clone the repository

  2. Open the project on Visual Studio Code

  3. Search for file constants.js

  4. Update the Server API URL from here and paste inplace of "YOUR_HOSTED_SERVER_API_URL"

    export const baseUrl = "YOUR_HOSTED_SERVER_API_URL";
  5. Inside the project directory open the terminal and run the following commands in order:

    npm install

    npm start

Steps for Openshift Deployment

  1. Install the OC cli on your system using the following link

  2. Once installed, open the Openshift console

  3. Copy the Login command as shown in the figure below

  4. Copy and paste the login command in terminal at the folder where the react application source code resides.

  5. Inside the terminal run the following commands in order:

    npm install

    npx nodeshift --strictSSL=false --dockerImage=nodeshift/ubi8-s2i-web-app --imageTag=10.x --build.env YARN\_ENABLED=true --expose

  6. This will install the react application on Openshift and public url will be provided in terminal logs.

Web Portal - Screenshots

Click here to view the screenshots.

Steps to send Push Notifications for Exposure (Contact Tracing).

  1. Get the patient's App Client ID following the steps as mentioned here
  2. Copy and paste the ID in the text box with the label "Enter COVID-19 infected patient's App-Client ID for tracing".
  3. On clicking Start Tracing, the web portal will fetch all the App Client IDs which have come in contact with the infected user within 14 days and had atleast 5 minutes of close encounter.
  4. The App Client IDs of close encounters with their respective encouter details will be displayed as shown in Contact Tracing Screenshot.
  5. The tracer can make decision to notify the respective user(s) based on this information.
  6. On clicking Notify, a push notification will be sent using IBM's Push Notification Service with the proper guidelines.
  7. Tracer can also export the detailed information of these users by clicking on the Export Data button located in the top right corner of table.

How does PocketCare S Work?

Key Highlights (Mobile Application)

  1. PocketCare S uses Bluetooth Low Energy (BLE) to discover and compute the duration close encounters.
  2. A close encounter session starts when two people are within 2 meters for at least 5 minutes.
  3. Close encounter data will be displayed in the mobile application after a close encounter session starts.
  4. Users are notified immediately if a close encounter session exceeds 10 minutes.
  5. The virtual bluetooth name changes every hour to ensure user privacy.
  6. Data stored in the mobile application is anonymized (contains no Personally Identifiable Information) and consists of daily health report and close encounters for a maximum period of 14 days.
  7. Data upload to the server takes place every hour.

Detailed Architecture

Working

Technological Advances

PocketCare S has made significant technological advances compared to other solutions. An Infographic with this information can be found here.

Security and Privacy

PocketCare S cares values the security and privacy of its users. The app does not collect any private information about an individual person. All the data collected is anonymous and will not reveal any personally identifiable information. An Infographic with this information can be found here.

For a more detailed description, refer to the additional information section.

Built With

iOS

Android

Server

Project Road Map

Road Map

Additional Information

You can read more about PocketCare S on our website. We also have a White Paper which can be accessed here.

An in-depth video of the PocketCare S Mobile Application can be found here.

PocketCare S is also available on Google Play and to the University at Buffalo (UB) community using the Apple Developer Enterprise Program.

License

This project is licensed under the Apache 2 License - see the LICENSE file for details.

Acknowledgements

Special thanks to all who helped bring the project to fruition:

Sourav Samanta, Rishabh Joshi, Jeetendra Gan, Shanelle Ileto, Aritra Paul, Dr. Peter Winkelstein, Dr. Matthew R. Bonner, Kevin Wang, Chen Yuan, Dheeraj Bhatia, Latheeshwarraj Mohanraj, Dr. Wen Dong, Dr. Tong Guan, Dr. Marina Blanton, Sasha Shapiro, Stephen Fung, David G. Young

And our deepest gratitude for the support of University at Buffalo.

About

Official PocketCare S Web portal for Call for Code 2020, COVID-19 Track.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published