GithubHelp home page GithubHelp logo

chschwind / cwa-website Goto Github PK

View Code? Open in Web Editor NEW

This project forked from corona-warn-app/cwa-website

0.0 0.0 0.0 1.77 GB

Corona-Warn-App website

Home Page: https://coronawarn.app/

License: Apache License 2.0

JavaScript 93.60% CSS 0.02% HTML 2.55% Batchfile 0.01% SCSS 3.83%

cwa-website's Introduction


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 the Node.js 16 Active LTS version of Node.js (which includes npm) to build the website.

Getting started

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 commands npm run build followed by npm run start-server described below and which can be used individually if desired. If you want to debug you can build the web and start the local server using the command npm run dev as an alternative to npm start.

Build

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.

Start-Server

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.

Start-Fast

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.

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

Alternatively, execute npm run test:open to select individual tests or all tests to run from the Cypress console.

To minimize the occurrence of errors we would ask you to perform all tests when contributing to our repository.

The production web https://www.coronawarn.app runs under the Ubuntu operating system with a case-sensitive file-system. To ensure gaps in testing are minimized, perform local tests preferably under Ubuntu.

Other operating systems, such as Microsoft Windows, which access files in a case-insensitive mode, may hide problems in testing if there is a mismatch between the upper/lower-case file naming and the reference to the file. This applies to Cypress tests and testing by hand.

Notes for test developers

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

Included in Cypress Test Production? What is it used for?
check_links.js Detect broken links throughout the website. Result is saved in logs folder.
app_to_web.js Check that all links to the website used by the Android and iOS apps are working and that content is correctly displayed.
applink_spec.js Detect broken links or missing OS badges to download mobile app in home page.
blog_spec.js Check if blog archive is accessible.
check_anchor_links.js Detect broken anchor links throughout the website. Result is saved in logs folder.
check_videos.js Detect broken videos throughout the website.
eventRegistration.js Checks that all fields in event-registration exist and fill them to create a QR code.
faq.js Simulate a FAQ search and the result for mobile and desktop view.
hotline_spec.js Verify that Hotline APP and TAN data is correcly displayed at home page.
mime.js Check that CSS and JS files have the correct MIME type. See https://developer.mozilla.org/en-US/docs/Glossary/MIME_type

To run all tests included in Cypress Test Production execute:

npx cypress run -s 'cypress/integration/*.js' -c baseUrl=https://coronawarn.app --headed => test results are printed in the console, also you can see browser's movements

npx cypress run -s 'cypress/integration/*.js' -c baseUrl=https://coronawarn.app --headless --browser chrome => test results are printed in the console, the browser is not displayed

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

A list of all public repositories from the Corona-Warn-App can be found here.

Licensing

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.

cwa-website's People

Contributors

dsarkar avatar svengabr avatar ein-tim avatar hannahei avatar mikemcc399 avatar heinezen avatar larswmh avatar brifemu avatar mtb77 avatar tkowark avatar olmue avatar sebastianwolf-sap avatar christianneu avatar marlisfriedl avatar janina-github avatar wendadh avatar ibexad avatar maxmarkus avatar maltej avatar thomasaugsten avatar browkin avatar bastianjoel avatar thorbenkuro avatar dervogel2020 avatar hschepp1965 avatar crystalskulls avatar vaubaehn avatar fynngodau avatar dependabot[bot] avatar matriceria avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.