About this Repository • Development • Documentation • Support and Feedback • How to contribute • Licensing • Web Site
This repository contains the source files of the official website for the Corona-Warn-App as it is available at coronawarn.app. For information about the project, please see our documentation repository.
You need the Node.js 14 Maintenance LTS version of Node.js (which includes npm) to build the website. (cwa-website is not ready for the Node.js 16 Active LTS version.) Downloads for Node.js 14.18.1 are available from the Node.js - Previous Releases page.
Optionally, you need an HTTP Server such as http-server to run and test the deployment of the website locally.
Clone the repository and ensure to have all requirements installed. To build the website, switch to the cwa-website
base directory and execute the commands
npm install
npm run build
After a successful build, you'll have a new folder public
in the repository's base directory. It contains the generated files for the complete website.
To test the generated content, simply execute the command
npm start
It will automatically use public
as base directory and watch for file changes. Go to localhost:8000
to view the website.
If you want to build the website without optimizations, you can do so by running
npm run start-fast
This will disable image compression in exchange for faster build times.
Manuals for the most common use cases of updating website content are available in the docs folder.
Cypress is used to run End-To-End tests. tests are located in the cypress/integration
folder and can be run with:
npm run test:prepare
npm run test
Alternatively, run npm run test:open
for simpler test development. Be aware that you should only run one file after another and not click on Run all specs since the screenshot test library has a bug which causes falsy tests for Visual Comparison.
npm run test:prepare
copies fixtures from ./cypress/fixtures
that are required for e2e tests. Store your test assets there, if required.
IMPORTANT: In case Visual Comparison tests are failing after changes to css, header or footer, delete the
.png
files from./cypress/integration/__image_screenshots__
and run the blog e2e tests withnpm run test
(without :open!) to recreate the screenshots. Additionally, apply the screenshots to the codebase.
Best practice is to use data-e2e="your_test_id"
element attributes to select specific elements, eg cy.get('[data-e2e="cta-button-1"]').click()
instead of cy.get('.container .infobox a.button').contains('DOWNLOAD').click()
.
If executing $ npm run test:prepare
causes an error on Microsoft Windows
'.' is not recognized as an internal or external command,
ensure that git is installed and execute the following command:
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
Any direct commits and merged pull requests will automatically trigger follow-up actions to build and deploy the changes to coronawarn.app. The respective GitHub Actions are available in the .github/workflows directory of this repository.
The full documentation for the Corona-Warn-App can be found in the cwa-documentation repository. The documentation repository contains technical documents, architecture information, and white papers related to this implementation.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
General discussion, issues, bugs | |
Other requests |
The German government has asked SAP and Deutsche Telekom AG 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.
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.
A list of all public repositories from the Corona-Warn-App can be found here.
Copyright (c) 2020-2021 Deutsche Telekom AG and 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 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.
The "Corona-Warn-App" logo is a registered trademark of The Press and Information Office of the Federal Government. For more information please see bundesregierung.de.