ministero-salute / it-dgc-verificaC19-android

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System
https://www.dgc.gov.it
Apache License 2.0
103 stars 54 forks source link
android covid-19 digital-covid-certificate kotlin mobile-app

EU Digital COVID Certificate Verifier App - Android

AboutDevelopmentDocumentationDependenciesSupportContributeContributorsLicensing

About

This repository contains the source code of VerificaC19, the Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System. The repository is forked from the official EU Digital COVID Certificate Verifier App - Android

The DGC Verifier Apps are responsible for scanning and verifying DCCs using public keys from national backend servers. Offline verification is supported, if the latest public keys are present in the app's key store. Consequently, once up-to-date keys have been downloaded, the verification works without active internet connection. The Italian version adds some medical rules to the validation of the DCCs, defined by rules downloaded from national backend servers.

Development

Prerequisites

Build

Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.

In order to successfully build and run the project, you must have also downloaded the corresponding core repository from here, sdk from here and certlogic from here. All projects should be at the same folder level as eachother which would look something like

android-app
|___dgca-verifier-app-android
|___dgca-app-core-android
|___it-dgc-verificac19-sdk-android
|___dgc-certlogic-android

Android Studio based build

Modify app\build.gradle file, changing BASE_URL, SERVER_HOST and CERTIFICATE_SHA debug config values with release config values. Here you can find more info on app's endpoints.

This project uses the Gradle build system. To build this project, use the gradlew build command or use "Run" in Android Studio.

Documentation

Dependencies

The following libraries are used in the project by the verifier app and the core app and are imported as Gradle dependencies:

Support and feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues

How to contribute

Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

Our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.

Licensing

See the NOTICE for all copyright and licensing details.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.