Help us stop COVID-19.
LetsTrace relies on Private Kit - a ‘privacy-first’ app that allows you to log your GPS trails on your own phone. The information is stored locally and never shared with anyone (not even with us or MIT) until you explicitly decide to manually export the data. The location log generated by Private Kit cannot be accessed from outside the user’s device. Location information can be imported and exported by the user and used in other projects and applications.
Private Kit’s trail generator logs your device’s location once every five minutes and stores 28 days of data in under 100KB of space – less space than a single picture. But what is truly exciting about Private Kit is its privacy protection.
Homepage: https://privatekit.mit.edu
WhitePaper: Apps Gone Rogue: Maintaining Personal Privacy in an Epidemic
This is a React Native app, supporting both iOS and Android.
The diagram in docs/Private-Kit-Diagram.png has an overview of the events and services.
First, install Node dependencies:
npm install
To set up your environment, go to the React Native development environment docs, select "React Native CLI Quickstart", select "iOS" under target OS, then follow the instructions under "Installing dependencies".
Next, run:
cd ios/
pod install
cd ..
To run the app:
npx react-native run-ios
To set up your environment, go to the React Native development environment docs, select "React Native CLI Quickstart", select "Android" under target OS, then follow the instructions under "Installing dependencies".
You'll also need to follow the instructions under "Using a virtual device" if you want to use the simulator to run the app.
To run the app:
npx react-native run-android
You will need to generate a Google API key in order for the mapping features to work correctly. Refer to this guide guide in order to create the API key.
Once created you will need to add it to two different places in the project. One for Android and one for iOS.
- Android - open
android/app/src/main/AndroidManifest.xml
and search forcom.google.android.geo.API_KEY
. Add your key to theandroid:value
property. - iOS - open
ios/PrivateKit/AppDelegate.m
and search forGMSServices provideAPIKey
and replace line with[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- If you have any trouble with packages not found, try
react-native link
from project directory. - If you see the error
Failed to load bundle - Could not connect to development server
, kill all other react-native processes and try it again.