GithubHelp home page GithubHelp logo

tchigher / mobile-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from covidshield/mobile

0.0 0.0 0.0 2.39 MB

React Native client application for COVID Shield on iOS and Android

Home Page: https://covidshield.app

License: Apache License 2.0

JavaScript 39.97% Ruby 2.67% Starlark 0.20% Java 2.16% Kotlin 3.31% Objective-C 5.96% TypeScript 45.73%

mobile-1's Introduction

COVID Shield Mobile App

Lint + Typscript

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.

Overview

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.

Screenshots

Three iOS devices showing the default screen, an exposure notification, and the detail screen in COVID Shield mobile app

User Experience

Aurora Design System

COVID Shield follows design and content guidelines from the Aurora Design System published by the Government of Canada's Digital Enablement Service.

Typeface

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.

Inspiration

Our onboarding flow was inspired in part by the work done in this Medium article which is shared under the CC 4.0 license. Thanks to @jelle.prins and @ppkorevaar for their initial work.

Design

Content

Our glossary of terms.

Local development

Prerequisites

Follow the steps outlined in React Native Development Environment Setup to make sure you have the proper tools installed.

iOS

  • XCode 11.5 or greater
  • iOS device or simulator with iOS 13.5 or greater
  • Bundler to install the right version of CocoaPods locally

Android

  • Android device or simulator with the ability to run the latest version of Google Play Services.

1. Check out the repository

git clone [email protected]:CovidShield/mobile.git

2. Install dependencies

yarn install
2.1 Additional step for iOS
bundle install && yarn pod-install

3. Environment config

Check .env and adjust configuration if necessary. See react-native-config for more information.

Ex:

ENVFILE=.env.production yarn run-ios
ENVFILE=.env.production yarn run-android

4. Start app in development mode

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:

  • For iOS, using XCode by opening the CovidShield.xcworkspace file in the ios folder.
  • For Android, using Android Studio by opening android folder.

Development mode

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:

  • Switch languages
  • Put the app into test mode to bypass the Exposure Notification API check
  • Change the system status
  • Change the exposure status
  • Send a sample notification
  • Reset the app to onboarding state

Test mode

Test mode UI is enabled if the environment config file (.env*) has TEST_MODE=true. To toggle test mode UI, you can swipe right to left at home screen or press on CovidShield logo.

Some features in test mode:

  • Toggle language.
  • Show sample exposed notification.
  • Mock server. When it is enabled, it will override Google / Apple Exposure Notification framework and backend for system status, exposure status.

To disable test mode UI on production build, simply set it to false in the environment config file TEST_MODE=false.

Customization

You can customize the look and feel of the app largely by editing values found in the Theme File

Localization

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.

yarn generate-translations

Who built COVID Shield?

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 [email protected].

mobile-1's People

Contributors

henrytao-me avatar janicduplessis avatar ankitsingh1492 avatar kpeatt avatar emilybulger avatar honkfestival avatar annemarieleger avatar burke avatar evanbacon avatar jordanatshopify avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.