- About The Project
- Getting Started
- Roadmap
- Contributing
- Common Issues
- License
- Contact
- Acknowledgements
COVID Symptom Study is an open source Android and iOS app whose goal is to stop the spread of COVID-19 disease and help identify people who are at risk sooner.
The COVID Symptom Study was designed by doctors and scientists at King's College London, Guys and St Thomas’ Hospitals working in partnership with ZOE Global Ltd – a health science company.
If you're doing research on COVID-19 and you want to contribute or believe this initiative can help your efforts, please let us know at research@joinzoe.com
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- npm
- expo-cli
npm install npm@latest -g
npm install expo-cli --g
-
Clone the repo
git clone git@github.com:zoe/covid-tracker-react-native.git
-
When you first start your application you should see the IP address in the console (located above the QR code). For example:
exp://123.456.7.890:19000
-
Create a .env file - please note that http:// is required otherwise API requests will fail.
echo "API_URL=http://<ip_address_host_here>:3000" > .env
e.g.
echo "API_URL=http://123.456.7.890:3000" > .env
NOTE: if you change the .env file be sure to clear the metro cache to ensure your changes take place.
rm -rf $TMPDIR/metro-*
or
expo clear-metro-cache
-
Run the following command to create
AMPLITUDE_KEY
environment variable:echo "AMPLITUDE_KEY=test_key" >> .env
-
Create an empty
./google-services.json
file in the root of the application.echo "{}" > google-services.json
-
Run the following commands
npm install expo start
-
Run the mock server
npm run mock-server
- note: Mock server is currently unavailble (using)
The git hook checks can be manually disabled calling git commit and git push with the --no-verify flag if needed.
-
Run the standard suite of integration tests
npm test
-
Check the i18n strings for a locale are complete
npm test:i18n sv-SE
We are trying to embrace Component Driven Design. To develop
-
Set
ENABLE_STORYBOOK=true
inApp.tsx
-
Start the storybook server with
npm run storybook
. This will open a webpage where you can flip through the stories in this project, after you've connected a iOS or Android device viaexpo start
.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated - see the contributing guidelines.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
These are some known, common issues and their solutions:
- Changes to .env don't get picked up.
- Solution: Change some of the source code or restart the expo project running
expo start -c
- Unable to resolve module
deprecated-react-native-listview
- Solution: Running
rm -rf $TMPDIR/metro-cache
has been reported to solve the problem.
- Sometimes when working with React Native a total reset is required to get things up and running again. There can be lots of reasons for this and some googling may be required, however, the following is a common approach that works for many instances:
watchman watch-del-all && rm package-lock.json && rm -rf node_modules && rm -rf $TMPDIR/metro-* && rm -rf $TMPDIR/haste-map-* && npm install
or run
expo reset
How to run multiple ios simulators with expo
Distributed under the Apache 2.0 License. See LICENSE
for more information.
ZOE Engineering - engineering@joinzoe.com