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 16 Active LTS version of Node.js (which includes npm) to build the website.
Clone the repository and ensure you have the requirements (from above) installed. To build and display the website in a web browser, switch to the cwa-website
base directory and execute the commands:
npm install
npm start
-
npm install
installs the necessary packages to build, display and test the website on your local system. You only need to run this once or if the packages defined in package.json are changed. -
The command
npm start
triggers the commandsnpm run build
followed bynpm run start-server
described below and which can be used individually if desired.
The command:
npm run build
builds the website and creates a new folder public
in the repository's base directory. It contains the generated files for the complete website.
To view the generated content after using npm run build
, execute the command:
npm run start-server
This command starts a local web server and a browser window is also automatically opened at http://localhost:8000
so that the website can be viewed. The web server uses public
as its base directory. It also watches for file changes and refreshes the browser contents if necessary.
Depending on your network setup, you may also be able to view the website on a connected mobile device using http://<ip_address_of_localhost>:8000
, for example http://192.168.0.100:8000
.
The command npm run start-fast
is similar to the command npm run start
: it builds the web then starts a web server, displaying the web site in a browser. The difference is that start-fast
disables image compression which can shorten the build time.
Check and compare the build log line Finished 'build' after xx
showing the time taken to build if you are experiencing long build times to see if it is helpful in your own environment.
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, execute npm run test:open
to select individual tests or all tests to run from the Cypress console.
npm run test:prepare
copies fixtures from ./cypress/fixtures
that are required for e2e tests. Store your test assets there, if required.
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-2022 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.