iOS application to help fight COVID-19

Related tags

SwiftUI App ios
Overview

Build Status iOS 10.0

iOS application to help fight COVID-19

This app is aiming at helping fight COVID-19 spread by collecting anonymous data about people meeting each other.

In the basic scenario, the device is emitting an iBeacon signal (Bluetooth low energy) and at the same time listens to iBeacons around you. Thus creating an anonymous mesh of who met whom and when. This data is collected on server and when a person is positively diagnosed with SARS-CoV-2 (the infamous "corona" virus causing COVID-19 disease), the server will notify via push all the devices that were in a close and significant proximity with that person.

Alternatively, the user can flag himself as quarantined in which case the app will regularly check his/her GPS location and warn him/her in case he/she leaves the quarantine.

Build prerequisities

  • Install all required dependencies > run pod install
  • Fill in bundle identifier
  • Register your app in Google Firebase console and copy GoogleService-Info.plist file to app folder
  • Add innovatrics license file. You can find more about the face recognition solutions here: https://www.innovatrics.com/face-recognition-solutions/
  • Save the world
Comments
  • access token ???

    access token ???

    https://github.com/CovidWorld/ios/blob/31facbf8cce80553b2d0301a0974c6feb09244ec/Covid/Services/Networking/NCZIService.swift#L94

    Dobrý deň, nechcem vám do toho nejako "mudrovať", lebo robíte dobrú prácu, ale osobne by som toto asi verejne do repozitára nedával... Nejedná sa o žiadu zraniteľnosť, ale minimálne je nepríjemné, že si viem teraz ako "tretia osoba" "kontrolovať" telefónne čísla, pretože vďaka tomu viem komunikovať s: https://t.mojeezdravie.sk/api/v2/sygic/send-otp

    Keď by som chcel byť záškodník, tak mi ako prvé napadne oprieť to o nejaký zoznam t.č. a hľadať tak tie registrované, čiže pozerať kedy to povie niečo iné ako:

    "description": "Neregistrované alebo nesprávne telefónne číslo. Prosím, kontaktujte Call Centrum 0800 221234."

    Ak to následne odosiela ešte aj sms na overenie nájdeného čísla, tak by to reálne mohlo skončiť ako "sms bomber..." (ale to verím, že ošetrené je)

    Neberte to prosím ako kritiku alebo niečo podobné. Ako som písal vyššie robíte to dobre, toto mi čisto len udrelo do oka a preto ma zaujímalo, či bol nejaký úmysel to takto mať... Prajem veľa šťastia s vývojom, nemáte to ľahké...

    opened by mysho87 3
  • [WIP] Permissions

    [WIP] Permissions

    Services

    • Adds SPPermissions as source dependency
    • Permissions are now responsible for handling the permissions required by the app -> bluetooth, gps and push notifications

    UI

    • Adds ServicesStatusViewController that displays the list of allows/disallowed services -> accessible from main screen
    • zeplin assets & colors were added to the project
    • new IconWithCenteredLabelView && Label were added to the project
    • Adds UIView+CornerRadius helper extension
    opened by bielikb 2
  • [feature] Show selected region on map

    [feature] Show selected region on map

    Changes

    *. Selecting region from the list of regions will show that region on map

    • Helper extension CLLocationCoordinate2D.swift brings convenience API
    • Commented out the rest of the faceID code
    opened by bielikb 2
  • Added swiftlint.yml

    Added swiftlint.yml

    Swiftlint brings conventions, best practices and uniformity to the codebase

    Changes:

    • Added swiftlint.yml
    • swiftlint is now part of the project target's build phase
    • fixed couple of swiftlint warnings
    opened by bielikb 1
  • UI flows for eKarantena

    UI flows for eKarantena

    • Border crossing flow
    • Random check flow is now fired once the user taps the dynamic link
    • Adds SwiftOTP
    • DOT framework downgraded
    • Adds Swift 5 fork of SwiftPasscodeLock with adjustments
    opened by bielikb 0
  • [WIP] Face ID - Registration

    [WIP] Face ID - Registration

    #Changes

    • FaceID is back
    • removes step to select the address from search/map

    Current quarantine flow goes as follows: Onboarding screen -> phone number entry + verification -> address confirmation -> face capture

    opened by bielikb 0
  • Feature/remote config

    Feature/remote config

    Features

    • Remote config to comply with EU rules to be able to stop all application activity
    • Connections only uploaded manually after being diagnosed and asked by officials
    • Updated symptoms page
    • Minor improvements
    opened by anonymcek 0
  • UI improvements

    UI improvements

    • VCs now use translucent navigation bar (except MapViewController & Privacy VC)
    • Choosing empty location is not valid, alert will be fired
    • Privacy Policy text follows the app font
    • About App text updated to the latest version
    • custom buttons were converted to system buttons == consistency & native feel
    opened by bielikb 0
  • multiple fixes

    multiple fixes

    • adds GDPR consent switch
    • removed faceid
    • request location for beacons
    • push notification fixes
    • collect FCM token instead of APNs token
    • nczi services updated
    opened by anonymcek 0
  • Support for dynamic links

    Support for dynamic links

    • Adds Associated Domains support to covid app. Side-effect: App new supports Associated Domains from dev account. To reflect this change, I had to re-generate the provisioning profile for Appstore & reupload it to Bitrise. Additionally I created dev provisioning profile for testing purposes
    • Adds custom url scheme
    opened by bielikb 0
  • Flows

    Flows

    Changes

    • user is no longer required to verify his phone number when app starts
    • user is asked for phone number only in "quarantine" flow
    • quarantine data are sent in the end of the quarantine flow

    New stuff in codebase

    Seamless instantiation of viewcontrollers defined in main storyboard

    This dumb protocol

    protocol HasStoryBoardIdentifier {
        static var storyboardIdentifier: String { get }
    }
    

    in cooperation with new UIStoryboard extension:

    extension UIStoryboard {
    
        class func controller<T: UIViewController>(ofType type: T.Type) -> T? where T: HasStoryBoardIdentifier {
            main.instantiateViewController(withIdentifier: type.storyboardIdentifier) as? T
        }
    }
    

    allows us to instantiate the VC's declared in storyboard in more seamless way: Common way of instantiating the VC from storyboard looks like this:

    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let viewController = mainStoryboard.instantiateViewController(withIdentifier: "MainViewController") as UIViewController
    

    Here's new, type-safe way, that results into 1-liner:

    UIStoryboard.controller(ofType: MainViewController.self)
    

    Segues

    All segues are now listed in enum Segue:

    enum Segue: String {
        case quarantineVerifyNumber
        case startQuarantineFlow = "initQuarantine"
        case foreignAlert
        case searchAddress = "search"
        case phoneNumberVerification = "verification"
    }
    

    Instead of using string-based APIs:

    performSegue(withIdentifier: "initQuarantine", sender: nil)
    

    we're now able to perform segues in a type-safe way:

    performSegue(.startQuarantineFlow)
    
    opened by bielikb 0
  • Wrong Czech phone number prefix

    Wrong Czech phone number prefix

    The phone number prefix for the Czech Republic in the app is +42 with is wrong. The correct prefix is +420.

    This makes the app unusable for everyone trying to return home from the Czech Republic.

    opened by igorkulman 10
  • Project source code is not working, Missing classes, giving errors on FaceIDCapture.swift

    Project source code is not working, Missing classes, giving errors on FaceIDCapture.swift

    Hello,

    We have checkout project code from github link and updated necessary pods. After then project is not able to run and showing multiple errors.

    Missing classes:

    • FaceCaptureImage
    • FaceCaptureController
    • FaceCaptureConfiguration
    • FaceCaptureControllerDelegate

    Also, giving errors on below code as "DOTHandler" unresolved identifier: extension FaceIDCapture {

    func faceCaptureNoCameraPermission(_ controller: FaceCaptureController) {
        debugPrint(#function)
        guard let status = DOTHandler.authorizeCamera(onRequestAccess: { [weak self] status in
            self?.checkCameraPermission(status: status, controller: controller)
        }) else { return }
    
        checkCameraPermission(status: status.authorizationStatus, controller: controller)
    }
    
    Screenshot 2020-05-26 at 5 24 40 PM Screenshot 2020-05-26 at 5 24 47 PM
    opened by smindia1988 1
Owner
Covid World
Fighting Covid Together
Covid World
COVID Certificate is the official app for storing and presenting COVID certificates issued in Switzerland.

COVID Certificate is the official app for storing and presenting COVID certificates issued in Switzerland. The certificates are kept and checked locally on the user's phone.

Swiss Admin 111 Dec 19, 2022
COVID Safe Paths (based on Private Kit) is an open and privacy preserving system to use personal information to battle COVID

COVID Safe Paths is a mobile app for digital contract tracing (DCT) sponsored by Path Check a nonprofit and developed by a growing global community of engineers, designers, and contributors. Safe Paths is based on research originally conducted at the MIT Media Lab.

PathCheck Foundation 470 Nov 6, 2022
Covid 19 Tracing Mobile Application

PVAMU-COVID19-APP Covid 19 Tracing Mobile Application This is my Senior Design Project 2021-2022 Mobile applications are the new gateway to have easy

null 0 Nov 15, 2021
A Swift iOS application designed to help DMs / GMs run tabletop RPGs

Project Overview This project is a work in progress iOS app designed to help Dungeon Masters run tabletop role playing games. It is meant as an explor

null 0 Nov 30, 2021
LeitnerBox is an iOS application which help language learners to memorize words faster.

Leitner-Box Leitner-Box is an iOS application to memorize word forever. Features Memorize words and phrases. Ability to export the database and import

hamed 5 Dec 22, 2022
This mobile application built in SwiftUI is designed to help you medicate your cat faster.

MediKitty This mobile application built in SwiftUI is designed to help you medicate your cat faster. If you medicate your kitty it will be happy Add w

Elijah J Grealish 0 Nov 2, 2021
An application that will help you to take care of your pet!

4Pets This app will revolutionize the way you treat your lovely pet! Info This application was developed at BEPiD, hosted by IFCE Idea At the beginnin

Felipe Borges 18 Dec 8, 2022
iOS 14 widget for stats on COVID -19.

A Covid-19 Tracking Widget for iOS 14 WidgetKit WidgetKit gives users ready access to content in apps by putting widgets on the iOS Home screen or mac

Aaryan Kothari 71 Jul 4, 2022
Aplikasi iOS Statistik Internasional Penyebaran Covid-19 dengan SwiftUI, MVVM Design Pattern, dan REST APIs dari rapidapi.com

CovStats CovStats adalah aplikasi iOS Data Statistik Internasional Covid-19 yang datanya didapatkan dari rapidapi.com dengan struktur REST API. Dibuat

DK 7 Aug 1, 2022
COVID-19 SwiftUI Demo

COVID-19_SwiftUI_Demo About COVID-19_SwiftUI_Demo is the coronavirus information application using SwiftUI which is first introduced in WWDC19 keynote

Hưng Thái 17 Feb 9, 2022
A simple App to Track the status of Covid-19 around the World. Using SwiftUI and GraphQL

CovidUI CovidUI is a simple App to Track the status of Covid-19 around the World. This is a simple App I made to track the spread of Covid-19 for me a

Mathias Quintero 77 Dec 14, 2022
Get notified about available COVID-19 vaccination appointments in Berlin's vaccination centers

VaccinationMonitor If you live in Berlin you might know how difficult it is to find an appointment to get a COVID-19 vaccination. This app notifies yo

Christian Lobach 8 Jan 14, 2022
EU Digital COVID Certificate Kit for the Apple Platform  (unofficial)

EU Digital COVID Certificate Kit A Swift Package to decode, verify and validate EU Digital COVID Certificates for iOS, tvOS, watchOS and macOS Disclai

Sven Tiigi 32 Oct 4, 2022
Rakning C-19 is an app that can be downloaded voluntarily and facilitates the contact tracing process amidst the ongoing Covid-19 pandemic in Iceland

Rakning C-19 App Rakning C-19 is an app that can be downloaded voluntarily and facilitates the contact tracing process amidst the ongoing Covid-19 pan

Aranja 242 Nov 21, 2022
Koronavilkku - the official COVID-19 Exposure Notifications app

Koronavilkku iOS app Koronavilkku is the official COVID-19 Exposure Notifications app for Finland, maintained by the Finnish Institute for Health and

Finnish Institute for Health and Welfare (THL) 76 Oct 7, 2022
COVID Alert Mobile App

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.

Canadian Digital Service – Service numérique canadien 900 Dec 21, 2022
A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories.

A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories. The app is simple, intuitive, and easy to use and update tasks informations.

null 1 Oct 10, 2022
ToDoList - An ios app that help users to set their todos and make it easy to remember this todos

An ios app that help users to set their todos and make it easy to remember this todos by reminders them when todo time's up, this app make sure that you don't forget any todos that you want to do just give it to the app and let the app hundle it for you.

Ahmed Mahrous 1 Apr 25, 2022
👶🏻 An iOS app to help you track sleep, feedings and diaper change for your baby

?? Maby Maby is an iOS/watchOS open-source app to help you keep track of your baby's sleep, feedings, diaper changes and more to avoid the constant qu

Fran González 2 Aug 25, 2022