junayed / covid-tracker-react-native

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

COVID-19 Symptom Study

Coverage Status

Table of Contents

About The Project

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

Built With

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • npm
  • expo-cli
npm install npm@latest -g
npm install expo-cli --g

Installation

  1. Clone the repo

    git clone git@github.com:zoe/covid-tracker-react-native.git
  2. 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
  3. 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
    
  4. Run the following command to create AMPLITUDE_KEY environment variable:

    echo "AMPLITUDE_KEY=test_key" >> .env
  5. Create an empty ./google-services.json file in the root of the application.

    echo "{}" > google-services.json
  6. Run the following commands

    npm install
    expo start
  7. Run the mock server

    npm run mock-server
    • note: Mock server is currently unavailble (using)

Git Hooks

The git hook checks can be manually disabled calling git commit and git push with the --no-verify flag if needed.

Tests

  1. Run the standard suite of integration tests

    npm test
  2. Check the i18n strings for a locale are complete

    npm test:i18n sv-SE

Storybook

We are trying to embrace Component Driven Design. To develop

  1. Set ENABLE_STORYBOOK=true in App.tsx

  2. 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 via expo start.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Common Issues

These are some known, common issues and their solutions:

  1. Changes to .env don't get picked up.
  • Solution: Change some of the source code or restart the expo project running expo start -c
  1. Unable to resolve module deprecated-react-native-listview
  • Solution: Running rm -rf $TMPDIR/metro-cache has been reported to solve the problem.
  1. 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

Multiple iOS simulators

How to run multiple ios simulators with expo

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Contact

ZOE Engineering - engineering@joinzoe.com

Acknowledgements

About

License:Apache License 2.0


Languages

Language:TypeScript 96.5%Language:Ruby 0.7%Language:HTML 0.7%Language:Java 0.6%Language:JavaScript 0.5%Language:Objective-C 0.3%Language:Raku 0.3%Language:Shell 0.2%Language:Starlark 0.1%Language:Perl 0.1%