/cwa-website

Corona-Warn-App website

Primary LanguageHTMLApache License 2.0Apache-2.0


Mozilla HTTP Observatory Grade

About this RepositoryDevelopmentDocumentationSupport and FeedbackHow to contributeLicensingWeb Site


Corona-Warn-App: Website

About this Repository

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.

Development

Requirements

You need Node.js (which includes npm) to build the website. Optionally, you need an HTTP Server such as http-server to run and test it locally.

Getting started

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 use a local web server such as http-server by executing 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.

Changing Things

Manuals for the most common use cases of updating website content are available in the docs folder.

Testing

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 with npm 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().

Updating coronawarn.app

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.

Documentation

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.

Support and Feedback

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

Type Channel
General discussion, issues, bugs
Other requests

How to contribute

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.

Repositories

Repository Description
cwa-documentation Project overview, general documentation, and white papers.
cwa-app-ios Native iOS app using the Apple/Google exposure notification API.
cwa-app-android Native Android app using the Apple/Google exposure notification API.
cwa-wishlist Community feature requests.
cwa-website The official website for the Corona-Warn-App
cwa-server Backend implementation for the Apple/Google exposure notification API.
cwa-verification-server Backend implementation of the verification process.
cwa-verification-portal The portal to interact with the verification server
cwa-verification-iam The identity and access management to interact with the verification server
cwa-testresult-server Receives the test results from connected laboratories

Licensing

Copyright (c) 2020 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.