/Fhi.Smittestopp.App

Smittestopp 2 mobile application

Primary LanguageC#MIT LicenseMIT

Smittestopp Mobile Application


GitHub last commit Open pull requests Open issues

The goal of this open-source project is to develop and maintain the official Smittestopp mobile app in Norway based on the Exposure Notification API from Apple and Google. This repository contains the code for frontend mobile application (iOS and Android). The app uses Xamarin cross-platform solution for Exposure Notification: Nuget and Source.

If you are interested in backend server implementation, check out https://github.com/folkehelseinstituttet/Fhi.Smittestopp.Backend.

Documentation

Documentation is available on GitHub here.

Common questions as well as general information about Smittestopp is available on Norwegian Institute of Public Health (Norwegian) and Helsenorge.no (English) webpages.

Azure Pipelines status (build and test)

Branch Status
master Build Status
dev Build Status

App Center builds

iOS Android
Alpha (Dev) Build status Build status
Beta Build status Build status
Pre-production Build status Build status
Production Build status Build status

Development

Prerequisites

  • Visual Studio 2019
  • Xcode 12 or higher (iOS only)

Getting started

  1. Clone this repository using git clone https://github.com/folkehelseinstituttet/Fhi.Smittestopp.App.git
  2. Open the solution file NDB.Covid19.sln in Visual Studio
  3. Restore Nuget Packages
  4. Build the project and run it.

Project structure

The app is written in Xamarin (C#) and platform specific UI implementation (Android XML and UIStoryboards) for additional flexibility when working with UI. Overall, the solution contains four projects:

  • NDB.Covid19: Contains shared business logic between iOS and Android, i.e., Exposure Notifications handler, locales, log utils, models, viewModels, services.

  • NDB.Covid19.Droid: Android related code, UI Activities/Fragments, implementation of services and handlers (for Dependency Injection) etc.

  • NDB.Covid19.iOS: iOS related code, UI Storyboards/ViewControllers, implementation of services and handlers (for Dependency Injection) etc.

  • NDB.Covid19.Test: Unit and integration tests.

  • IdentityServerMock: Contains Identity Server 4 mock for tests purposes.

Contributing

Feedback and contribution are always welcome. For more information about how to contribute, refer to Contribution Guidelines. By contributing to this project, you also agree to abide by its Code of Conduct at all times.

Download Smittestopp

Get it on Google Play Download on the App Store

Licence

Copyright (c) 2020 Agency for Digitisation (Denmark), 2020 Norwegian Institute of Public Health (Norway), 2020 Netcompany Group AS

Smittestopp is Open Source software released under the MIT license