React Native client application for COVID Shield on iOS and Android
This repository implements a React Native client application for Apple/Google's Exposure Notification framework, informed by the guidance provided by Canada's Privacy Commissioners. For more information on how this all works, read through the COVID Shield Rationale.
This app is built using React Native and designed to work well with patterns on both Android and iOS devices. It works alongside the COVID Shield Diagnosis Server to provide a reference for how a client application for exposure notifications could work.
COVID Shield follows design and content guidelines from the Aurora Design System published by the Government of Canada's Digital Enablement Service.
The Aurora Design System recommends Nunito for the app's main typeface. You can download this font from Google Fonts or access it directly using the Google Fonts integration in Figma.
Our glossary of terms.
Follow the steps outlined in React Native Development Environment Setup to make sure you have the proper tools installed.
"com.google.android.apps.exposurenotification". Go to Environment config to see how to change APPLICATION_ID.
git clone email@example.com:CovidShield/mobile.git
sudo gem install cocoapods
bundle install && yarn pod-install
.env and adjust configuration if necessary. See react-native-config for more information.
ENVFILE=.env.production yarn run-ios ENVFILE=.env.production yarn run-android
You can now launch the app using the following commands for both iOS and Android.
yarn run-ios yarn run-android
You can also build the app with native development tool:
CovidShield.xcworkspacefile in the
When the app is running development mode, you can tap on the COVID Shield logo at the top of the app to open the Test menu. This menu enables you to:
Note that: Test menu is enabled if the environment config file (
TEST_MODE=true. To disable test mode UI on production build, simply set it to false in the environment config file
You can customize the look and feel of the app largely by editing values found in the Theme File
The COVID Shield app is available in French and English. Fully localized content can be modified by editing translations files found in the translations directory. More translations can be added by using the same mechanism as French and English.
After modifying the content you must run the
generate-translations command in order for the app to reflect your changes.
Localizationssettings (Project -> CovidShield -> Info tab -> Localizations) and make sure
Launch Screen.storyboardis checked.
See Test Plan
We are a group of Shopify volunteers who want to help to slow the spread of COVID-19 by offering our skills and experience developing scalable, easy to use applications. We are releasing COVID Shield free of charge and with a flexible open-source license.
For questions, we can be reached at firstname.lastname@example.org.
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:packageDebug'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "/Users/YOUR_USER/.android/debug.keystore": keystore password was incorrect
Generate a new
cd android/app keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
Copy your debug.keystore to
cd android/app cp debug.keystore ~/.android/debug.keystore
Now you can run
yarn run-android in your root folder.