About this Repository • Support and Feedback • How to Contribute • Licensing
Common Covid Logic (CCL) describes a layer of common logic - especially regarding the interpretation of Digital COVID Certificates (DCCs) - that can be shared across different operating systems and implementations.
The logic in CCL is described in JSON format. An engine processes the logic on the client against a defined input structure (e.g. the set of DCCs) and can expect a defined output structure. The client can update the JSON regularly from a server. This facilitates updates to CCL independent of client releases, e.g. in order to respond to legal or regulatory pandemic-related changes on short notice.
The respective engine - JsonFunctions - is available as library:
- corona-warn-app/cwa-kotlin-jfn for Android
- corona-warn-app/json-functions-swift for iOS
You need the Node.js >=16 version of Node.js (which includes npm).
To run the automated tests, execute the following command in the root directory of the project:
npm testTo build the artifacts, execute the following command in the root directory of the project:
npm run buildThe artifacts are placed in the dist directory (created if not existing yet).
-
lib/ccl/functionscontains the JsonFunction descriptions. Note that when a new function is added, it also needs to be registered inlib/ccl/ccl-jfn.js -
lib/jfncontains an implementation of JsonFunctions -
resources/i18n/decontains the leading UI texts. The texts of other languages are generated via the translation system and should not be changed manually. -
resources/json-schemacontains various JSON schema definitions -
scriptscontains scripts for building and packaging CCL -
test/distcontains tests that are executed afternpm run buildon the resulting artifacts -
test/fixturescontains test data for automated tests -
test/fixtures/ccl/dcc-series-*.yamldescribe series of DCCs and how they should be interpreted by CCL
The following channels are available for discussions, feedback, and support requests:
| Type | Channel |
|---|---|
| General discussion, issues, bugs | |
| Other requests |
Contribution and feedback are 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.
The German government has asked SAP and Deutsche Telekom to develop the Corona-Warn-App for Germany as open source software. Deutsche Telekom is providing the network and mobile technology and will operate and run the backend for the app in a safe, scalable and stable manner. SAP is responsible for the app development, its framework and the underlying platform. Therefore, development teams of SAP and Deutsche Telekom are contributing to this project. At the same time 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.
A list of all public repositories from the Corona-Warn-App can be found here.
Copyright (c) 2020-2023 SAP SE or an SAP affiliate company.
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 from here.
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.
Please see the detailed licensing information via the REUSE Tool for more details.