STAYAWAY COVID is a voluntary system aiming at supporting the country in the screening of COVID-19. This repository contains the STAYAWAY COVID source code for both Android and iOS.
STAYAWAY COVID is a React Native project built on top of the Decentralised Privacy-Preserving Proximity Tracing (DP^3T) project. DP^3T is an open protocol for COVID-19 proximity tracing using Bluetooth Low Energy functionality on mobile devices that ensures personal data and computation stays entirely on an individual's phone. STAYAWAY COVID relies on the open source DP^3T SDKs, which are the implementation of the DP^3T protocol using the Exposure Notification Framework of Google and Apple. The SDK source code can be found here.
In the course of a pandemic, timely diagnosis of the population and informed reporting are crucial to break and control the chains of transmission. In the case of COVID-19, this does not come easy given the extended incubation period of the disease and the fact that, in many cases, infected patients are asymptomatic.
Thanks to STAYAWAY COVID, we are able to find out if we are at risk of being infected, based on the contacts we have been close to in the previous couple of weeks. A community-wide uptake of this app will turn it into a valuable and decisive ally in the fight against COVID-19.
The project was led by INESC TEC with the collaboration of Keyruptive and Ubirider.
To build the project you'll need to setup your React Native development environment, which can achieved by following the steps at https://reactnative.dev/docs/environment-setup. The requirements will depend on your development platform.
Only approved government public health authorities can access the Exposure Notification APIs. STAYAWAY COVID for Android will not work properly unless either your account is whitelisted as test account or your app is approved by Google and signed with the production certificate.
Required tools for building:
- Watchman
- Node 8.3
- Yarn
- Java SE Development Kit 8
- Android Studio
- Android SDK
Only approved government public health authorities can access the Exposure Notification APIs. STAYAWAY COVID for iOS will only work correctly if you were granted the com.apple.developer.exposure-notification entitlement by Apple. The ExposureNotification.framework is available starting with iOS 13.5.
Required tools for building:
- Watchman
- Node 8.3
- Yarn
- CocoaPods
- XCode
- Clone or download this repository.
git clone https://github.com/stayawayinesctec/stayaway-app.git
- Rename .env.example to .env.production.debug and fill in the variables with your own information
cp .env.example .env.production.debug
- Install dependencies by running:
yarn
- And finally, build the project:
yarn android # or yarn android-ui
yarn ios # or yarn ios-ui
NOTE: Running android-ui
or ios-ui
will allow you to run and test the applications' user interface without requiring to activate the Exposure Notification API.
Copyright (c) 2020 INESC TEC. Developed with Keyruptive. This project is licensed under the terms of the EUPL-1.2 license. Please see the LICENSE file for full reference.
Some files contain code from the DP3T applications, Copyright (c) 2020 Ubique Innovation AG. These files are are marked as such and licensed also under MPL-2.0.
Name | License |
---|---|
Gradle | Apache 2.0 |
Cocoapods | MIT |
Name | License |
---|---|
OkHttp | Apache 2.0 |
Retrofit | Apache 2.0 |
Name | License |
---|---|
@react-native-community/async-storage | MIT |
@react-native-community/checkbox | MIT |
@react-native-community/masked-view | MIT |
@react-native-community/netinfo | MIT |
@react-navigation/bottom-tabs | MIT |
@react-navigation/native | MIT |
@react-navigation/stack | MIT |
i18n-js | MIT |
lodash | MIT |
mirror-creator | MIT |
moment | MIT |
react | MIT |
react-native | MIT |
react-native-android-location-enabler | MIT |
react-native-config | MIT |
react-native-elements | MIT |
react-native-gesture-handler | MIT |
react-native-indicators | BSD-3-Clause |
react-native-keyboard-aware-scroll-view | MIT |
react-native-localize | MIT |
react-native-modal | MIT |
react-native-permissions | MIT |
react-native-reanimated | MIT |
react-native-safe-area-context | MIT |
react-native-screens | MIT |
react-native-splash-screen | MIT |
react-native-svg | MIT |
react-native-svg-icon | MIT |
react-native-swiper | MIT |
react-native-vector-icons | MIT |
react-native-version-number | MIT |
react-navigation-redux-debouncer | MIT |
react-redux | MIT |
redux-actions | MIT |
redux-saga | MIT |
reselect | MIT |