Git Product home page Git Product logo

cwa-hotline's Introduction

Corona-Warn-App Testresult Server

DevelopmentDocumentationSupportContributeContributorsRepositoriesLicensing

The goal of this project is to develop the official Corona-Warn-App for Germany based on the exposure notification API from Apple and Google. The apps (for both iOS and Android) use Bluetooth technology to exchange anonymous encrypted data with other mobile phones (on which the app is also installed) in the vicinity of an app user's phone. The data is stored locally on each user's device, preventing authorities or other parties from accessing or controlling the data. This repository contains the testresult server for the Corona-Warn-App.

Status

ci quality gate coverage bugs

About this component

In the world of the Corona Warn App the Test Result Server receives the results from laboratories and delivers these results to the app via the verification-server. The parts of the verification component cooperate in the following manner:

  • The Verification Server of the Corona Warn App (repository: cwa-verification-server) helps validating whether upload requests from the mobile App are valid or not.
  • The Verification Portal of the Corona Warn App (repository: cwa-verification-portal) allows hotline employees to generate teleTANs which are used by users of the mobile App to upload their diagnostic keys.
  • The Verification Identity and Access of the Corona Warn App (repository: cwa-verification-iam) ensures that only authorized health personnel get access to the Verification Portal.
  • The Test Result Server of the Corona Warn App (repository: cwa-testresult-server) receives the results from laboratories and delivers these results to the app via the verification-server.

So, this component receives the test results of COVID-19 Tests from connected laboratories. The information submitted by the laboratories contains an UUID and the result.

Development

This component can be locally build in order to test the functionality of the interfaces and verify the concepts it is build upon.
There are two ways to build:

  • Maven build - to run this component as spring application on your local machine
  • Docker build - to run it as docker container build from the provided docker build file

Prerequisites

Open JDK 11
Maven
(optional): Docker

Build

Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.

In either case open a terminal pointing to the directory you put the sources in. The local build process is described afterwards depending on the way you choose.

Maven based build

For actively take part on the development this is the way you should choose.
Please check, whether following prerequisites are fulfilled

is installed on your machine.
You can then open a terminal pointing to the root directory of the verification server and do the following:

mvn package
java -jar target/cwa-testresult-server-*.jar  

The verification server will start up and run locally on your machine available on port 8080.

Docker based build

We recommend that you first check the prerequisites to ensure that

is installed on you machine

On the commandline do the following:

docker build -f|--file <path to dockerfile>  -t <imagename>  <path-to-testresultserver-root>
docker run -p 127.0.0.1:8080:8080/tcp -it <imagename>

or simply

docker build --pull --rm -f "Dockerfile" -t cwa-testresultserver "."
docker run -p 127.0.0.1:8080:8080/tcp -it cwa-testresultserver

if you are in the root of the checked out repository.
The docker image will then run on your local machine on port 8080 assuming you configured docker for shared network mode.

API Documentation

Along with the application there comes an OpenApi Doc based swagger documentation which you can access in your web browser, when the test result server applications runs:

<base-url>/api/swagger

Which results in the following URL on your local machine: http://localhost:8080/api/swagger

Working Language

We are building this application for Germany. We want to be as open and transparent as possible, also to interested parties in the global developer community who do not speak German. Later on this application might also serve as a template for other projects outside of Germany. For these reasons, we decided to apply English as the primary project language.

Consequently, all content will be made available primarily in English. We also ask all interested people to use English as language to create issues, in their code (comments, documentation etc.) and when you send requests to us. The application itself, documentation and all end-user facing content will - of course - be made available in German (and probably other languages as well). We also try to make some developer documentation available in German, but please understand that focussing on the Lingua Franca of the global developer community makes the development of this application as efficient as possible.

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
Concept Feedback
Test Result Server Issue
Other Requests

How to Contribute

Contribution and feedback is 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.

Contributors

The German government has asked SAP AG 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.

Repositories

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

Licensing

Copyright (c) 2020-2023 Deutsche Telekom AG.

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.

cwa-hotline's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cwa-hotline's Issues

Complicated URL after choosing „Personal question about Corona“

Which hotline

+49 800 7540001

Current Implementation

After choosing your language and then choosing "Personal question about Corona", the voice will give you an URL. This URL contains https://. This isn't necessary.

Suggested Enhancement

Say
"infektionsschutz.de"
instead of
"h t t p s : / / w w w . i n f e k t i o n s s c h u t z . d e". (have to write it like that so that GitHub doesn't transform it to the link above)

Expected Benefits

More users understanding and correctly entering the URL.


Internal Tracking ID: EXPOSUREAPP-5148

Make it possible to requests TANs for multiple people during one call

There are Twitter users which report that the staff on the TAN hotline tells them that they are not allowed to issue TANs for multiple persons during one call. This means in praxis, that if a family of f.i. 4 people caught COVID and want to get a TAN, each family member has to call the hotline, wait in the waiting line and reduces capacity for other people.
I don't understand why there is a rule that says that during one call only TANs for one person can be issued. Amid the situation that the hotline is totally overcrowded all the team, it would only make sense to drop this rule.


Internal Tracking ID: EXPOSUREAPP-13536

Technical Hotline: Unfriendly or no response after massive Testresult-Server incident

Dear @daniel-eder ,

you probably read about the heavy incident here corona-warn-app/cwa-app-android#968 today.
Now many people are left behind with invalid test registrations. When they call the technical hotline to seek help, many people get either unfriendly responses or no response at all (see e.g. reports in Google Play Store for the CWA).
Beside the question, why server deployments/maintenance need to be done during the day time, I kindly ask you to forward the subsequent problems with the staff in the technical hotline to the stakeholders.
In all, what happened today does not shed a positive light at TSI.
Thanks a lot in advance for your reply.

Cc: @mlenkeit @thomasaugsten @dsarkar
FYI: @Ein-Tim


Internal Tracking ID: EXPOSUREAPP-10939

Missing CODE of CONDUCT

This repository has no CODE of CONDUCT published.

Suggestion

Add

## Code of Conduct

This project has adopted the [Contributor Covenant](https://www.contributor-covenant.org/) in version 2.0 as our code of conduct. Please see the details in our [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). All contributors must abide by the code of conduct.

to the README file in this repository and copy https://github.com/corona-warn-app/cwa-documentation/blob/main/CODE_OF_CONDUCT.md to this repository.

Outdated phone numbers in repository details "About" description

Which hotline

App and TAN

What is missing

The phone numbers +498007540001/2 in the "About" information in this repository are outdated. The 800 number is only available from within Germany.

image

Why should it be included

The information should be updated to correspond to the phone numbers in use today.

Suggested change

Change

"+498007540001/2"

in "About" to

"08007540001/2 (national) and +493049875401/2 (international)"

to correspond to hotline phone numbers published on https://www.coronawarn.app/en/. (Click on gear-wheel to the right of "About" to access "Edit repository details".)

[Accessibility] Technical Hotline: Hotline doesn't ask for "say 1" for those tested positively, just "press 1"

I called the technical hotline mentioned in the app +498007540001.

Problem

This is the logic (but more wordy than this):

  1. If you have been positively tested, press 1
  2. If you have other questions around Corona, say or press 2
  3. If you need help with the app, say or press 3

In 1 it doesn't ask for "say" making it less accessible for blind/visually impaired people than 2/3.

This is a link to a recording of the "Ansage":
https://voca.ro/ggbADUblyDx

Suggestion

  1. If you have been positively tested, say or press 1
  2. If you have other questions around Corona, say or press 2
  3. If you need help with the app, say or press 3

Hotline bug, not related to the app itself but needs to be made known to Telekom/Hotline-Team. This is the best place where such things can be transparently reported.

Suggestion: Maintainers to email Telekom-Hotline team and send link to this issue.


Internal Tracking ID: EXPOSUREAPP-5149

Technical Hotline: Overcomplicated language selection process at beginning of call

I called the technical hotline mentioned in the app +498007540001.

Problem

It takes 35s to get past language selection German/English. This is far too long. This is the logic (but more wordy than this):

  1. (in German) For German stay on the line
  2. (in German) For English say or press 1
  3. (in English) For German stay on the line
  4. (in English) For English say or press 1

This is a link to a recording of the "Ansage":
https://voca.ro/ggbADUblyDx

Suggestion

A much more concise and clearer logic is:

  1. (In German) For German say or press 1 (allow people to say or press 1 already there for shortcut)
  2. (In English) For English say or press 2
  3. Wait 5 seconds
  4. Continue in German unless 2 pressed or said

Hotline bug, not related to the app itself but needs to be made known to Telekom/Hotline-Team. This is the best place where such things can be transparently reported.

Suggestion: Maintainers to email Telekom-Hotline team and send link to this issue.


Internal Tracking ID: EXPOSUREAPP-5150

TAN hotline overloaded - infected people not getting through and giving up

Which hotline

TAN hotline

What is missing

Enough staff that can pick up calls from users

Why should it be included

To enable more users to warn their contacts

Additional information

Hi there,
according to current Google Play Store reviews for CWA, the telephone hotline for TANs (entering TAN to warn risk contacts) is overloaded! People are waiting >30min, many are giving up... Resulting in many people not getting warned about their infection risk.
It looks like that the responsible companies have not been prepared for the higher incidence rates, and too less people are currently on phone to pick up user calls.

Is there anything you can do from your side, e.g., @thomasaugsten to forward a red alert to the responsible people?
Thank you in advance!

cc: @dsarkar @heinezen


17.11.2021

https://play.google.com/store/apps/details?id=de.rki.coronawarnapp&reviewId=gp%3AAOqpTOHDapzxGQivmkPMCqrqxJLvLJKZ1A91kFN8fzCIt-7tMuxv9frQkiMeP_AMrrNB81Ss9L7-6Bmt4J0Sxg

https://play.google.com/store/apps/details?id=de.rki.coronawarnapp&reviewId=gp%3AAOqpTOFoS3n2wK8ZX1wmImRqqvscgu2rH_6wxUj6YsRyLNr99NTtXjkRE_5wYJeQ-FwT1adnb4J-9wIgeTA0KQ

https://play.google.com/store/apps/details?id=de.rki.coronawarnapp&reviewId=gp%3AAOqpTOEIuJr8gmWNj7WC8U9R7FX6JZXkGGGSj-IVScR3mWca5BDeLW6FlRjsVDXWnEi2_YvjcMHNg_gPQhPMMg

18.11.2021

https://play.google.com/store/apps/details?id=de.rki.coronawarnapp&reviewId=gp%3AAOqpTOGybTPRzpd_dydgFFWwxFJzzXMMPM5DLnoGtbHkCN4IktI7Ju9BIqMq8ky1peWD0wFYUFKPDRiFdpw1-w


Internal Tracking ID: EXPOSUREAPP-10939

Technical hotline suggest to call verification hotline on positive quick test

Which hotline

App/Technical hotline

Describe the issue

Somebody on Twitter told me that the technical hotline said him that if a quick test returns positive, the verification hotline should be called to get a TAN and warn others.

According to https://www.coronawarn.app/en/faq/#rapid_test, it is currently not supported to enter quick tests into the app.
The blog post "Die Bundesregierung integriert Schnelltests in die Corona-Warn-App" says:
"Die App integriert künftig Schnelltests. "

Both sources make it very clear that you shouldn't add quick tests into the app currently.

Suggested change

Please

  1. Clarify wether it is suggested to add positive quick test results into the app via calling the verification hotline
  2. If it's not suggested, please make sure that hotline staff doesn't advice people to do this.

Hotline service distributes wrong information about necessary location setting to public

Which hotline

App hotline (technische Hotline)

What is missing

The hotline distributes incorrect information. I called the technical app hotline twice on 16 June 2020, at 15:21 and at 17:09 to inquire if location has indeed to be turned on for the app to work. I wasn't sure about this at the time because the app didn't complain when I turned location off after installation (which is addressed in [1]). I mentioned that my phone is running Android 6.

The hotline staff made the following statements:

  1. You don't need location turned on.

This not true for Android.

  1. GPS data is evaluated to find out where coronavirus outbreaks occur.

This is not true and counteracts all the efforts to clarify that location is not requested or processed by the app.

These two statements sound more like spontaneous stand-up explanations than solid training or - in case there was no time for proper training - at least a solid knowledge database for staff.

Why should it be included

Many people might not read Android developer bluetooth documentation [2] or the Google Exposure Notification Framework documentation [3]. Corona-Warn-App documentation has improved a lot since 16 June 2020, fortunately [4].

However, it is very important that hotline staff do not contradict the official documentation, potentially leaving users confused and/or frustrated.

Additional information

I also informed RKI via email to [email protected] that the hotline needs better training and/or resources.

Links

[1] "Exposure Logging is in false "active" state when Location is turned off #491" https://github.com/corona-warn-app/cwa-app-android/issues/491

[2] https://developer.android.com/guide/topics/connectivity/bluetooth

[3] https://support.google.com/android/answer/9888358?hl=de

[4] https://www.coronawarn.app/de/faq/#android_location

Waiting loop: Reduce frequency of information that all staff is currently busy

There are multiple users on Twitter who complain about the frequency of the information that all staff is currently busy. it seems like the information is played way too often and is not helpful but only annoying the user.

See:


Internal Tracking ID: EXPOSUREAPP-13538

Why does the TAN hotline ask how long the app has been installed and does only issue a TAN if the app has been installed for more than 14 days?

Your Question

Multiple users on Twitter reported that the TAN hotline refused to give them a TAN because the app was not installed long enough. The staff asked for how long the app has been installed & if the app hasn't been installed for more than 14 days, the hotline does not issue a TAN. Why is this the case? IHMO, users should always be able to warn others (but if they just installed the app).


Internal Tracking ID: EXPOSUREAPP-11126

Automatize as many steps in the hotline process as possible

To make life easier for both, staff and users calling the hotline, it would be favorable if the following steps in the hotline process would be made automatic:

  1. Read out the data protection note - after reading it out ask "Do you agree to these terms & conditions?" and use the same system as in the beginning of the call ("If you agree, say 'Yes' or press 1" / "If you disagree say 'No' or press 2").
  2. Establish an automatic call-back system.

The user flow would look like this:

  1. Call the hotline
  2. Decide which language you need
  3. While on hold, the data protection informations are read out
  4. Agree or disagree to these terms & conditions as described above
  5. Wait until you are connected to staff
  6. Staff makes sure you are actually positive, asks you some questions and enters your phone number into the system
  7. Hang up
  8. Wait until you are called back
  9. The TAN is automatically read out to you

This improvement would significantly improve the process and more calls could be processed, as time is saved by automating as many steps in the process as possible.


Internal Tracking ID: EXPOSUREAPP-13572

Twitter reports: TAN hotline does not issue TANs for normal PCR tests because the staff thinks it is a quick PCR test

Which hotline

TAN

Describe the bug

I have multiple Twitter reports complaining that the TAN hotline does not issue TANs for normal PCR tests. The call agents say that the result was too quick delivered, so it was a quick PCR test. The users said this is not true but the staff still did not issue a TAN.

Steps to reproduce the issue

  1. Have a PCR test done
  2. Get the result quite fast (12h-30h)
  3. Attempt to request a TAN at the TAN hotline

Expected behaviour

The TAN hotline should issue TANs for normal PCR tests.

Additional context

Links to Twitter:

  1. https://twitter.com/Pixtxa/status/1499001085951938562?s=20&t=Occl6K5IZzak0-HvnYOaLw
  2. https://twitter.com/Cartman_FFM/status/1498991173523984391?s=20&t=Occl6K5IZzak0-HvnYOaLw
  3. https://twitter.com/christjan82/status/1498698649274142721?s=20&t=Occl6K5IZzak0-HvnYOaLw

Internal Tracking ID: EXPOSUREAPP-10939

Conflicting hotline availability and language information

Which hotline

Technical hotline

Issue description

The CWA Android 2.22.3 app and the CWA website give conflicting information about the availability of the technical hotline (0800 7540001 / +49 30 498 75401), so it is currently unclear which information is correct.

Technical hotline App information Website information
Availability Mo - Fr 9 am to 5 pm Mo - Sa 7 am to 10 pm
Language German Turkish, English and German

Website references

https://www.coronawarn.app/en/faq/results/#who_can_help

"The technical hotline (click here to see the phone numbers) will help you with technical questions about the Corona-Warn-App, for instance if you have problems with exposure logging. You can reach the technical hotline from Monday to Saturday from 7 a.m. to 10 p.m. (except on German national holidays), and it is free of charge for you within Germany."

https://www.coronawarn.app/en/faq/results/#international_phone_numbers

"Technical Hotline

The technical hotline will help you with technical questions about the Corona-Warn-App, for instance if you have problems with the exposure logging. It is available Monday to Saturday from 7 a.m. to 10 p.m. German local time (except on German national holidays):

National: 0800 7540001

International: +49 30 498 75401"

https://www.coronawarn.app/en/faq/results/#available_languages

"The technical hotline (0800 7540001) answers in Turkish, English and German. More languages are to come. We'll keep you up to date."

Will the hotline issue TANs for quick PCR-Tests?

Your Question

From Twitter reports I heard that the TAN hotline does currently not issue TANs for quick PCR tests. Will this change with version 2.19, as in this version quick PCR tests are also supported in the app?

Barrierefreiheit für Schwerhörige, Ertaubte und Gehörlose

Ich finde keine Informationen, wie Menschen, die nicht per Telefon kommunizieren können, Informationen erhalten sollen bzw. mit der App interagieren sollen. Wie sollen Nutzer z.B. eine TAN erhalten, wenn sie infiziert sind. Gibt es dafür einen Chat? <!--
Thanks for pointing us to missing information 🙌 ❤️

Before opening a new issue, please make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
-->

What is missing

Why should it be included

Where should it be included

Hotline incorrectly listed on FAQ of the Bundesregierung

Which hotline

Both App and TAN hotlines

What is missing

The Corona-Warn-App FAQ website hosted by the Bundesregierung:

https://www.bundesregierung.de/breg-de/themen/corona-warn-app/corona-warn-app-faq-1758392 (German)
https://www.bundesregierung.de/breg-de/themen/corona-warn-app/corona-warn-app-englisch/corona-warn-app-faq-1758636 (English)

list outdated hotline numbers:

BRegPhoneENDE

The correct hotline numbers are listed on https://www.coronawarn.app/en/

image

Why should it be included

The Bundesregierung should correct their web pages, so that callers are correctly connected to the respective hotlines independently of where they are calling from.

Additional information

This is a cross-reference to corona-warn-app/cwa-website#1003.
The new numbers were introduced on March 16, 2021 according to corona-warn-app/cwa-documentation#502 (comment).


Internal Tracking ID: EXPOSUREAPP-5906

Drop requirement that PCR test needs to be performed by a laboratory

The hotline does not issue TANs for PCR tests, which were performed by e.g. local pharmacies, which also examined the result.
As these pharmacies can't connect to the CWA test system, users call the TAN hotline, wait for a long time only to be told that the TAN hotline does not issue TANs for these test.
This requirement makes 0 sense and should be dropped. Also, these pharmacies, etc. should be allowed to connect to CWAs test result system.

Here's a Tweet from a user this: https://twitter.com/autzeit/status/1539886506055188480?s=21&t=d8NN0yPCE0JsTSQe-pUtBQ


Internal Tracking ID: EXPOSUREAPP-13570

Technical Hotline: Missing ring-tone/hold music while on hold

I called the technical hotline mentioned in the app +498007540001.

After selecting "German" and "Technical Help" I was told to "hold", then for one minute, while on hold, no sound was played at all.

Clear hotline bug, not related to the app itself but needs to be made known to Telekom/Hotline-Team. This is the best place where such things can be transparently reported.

Suggestion: Maintainers to email Telekom-Hotline team and send link to this issue.

Why is there no estimated waiting time?

Your Question

Other hotlines offer the service that while one is in the waiting line, the computer voice does not only tell that all available staff is already in talks with other customers, but also how long the estimated waiting time is.
Why is the CWA hotline not offering this service?

Future of TAN hotline?

The Android app 3.0.x version in development has added "Self Report Submission" (SRS) and removed the TAN submission cards from visibility (see PR corona-warn-app/cwa-app-android#5677).

If "Self Report Submission" (SRS) will allow warning without being in possession of a TAN, then there will be no need for a TAN hotline for users of a future CWA 3.x app.

Does this mean that the TAN hotline will be shut down or will it continue its operation for users who are still on a 1.x or 2.x version, including those on the community CCTG version?

Remove positive option from technical hotline

Which hotline

+49 800 7540001

Current Implementation

The first option the technical hotline offers you to select is "Wenn Sie positiv auf das Coronavirus gestetst wurden, drücken oder sagen Sie jetzt bitte die Eins." When you select this option, you only get the information that the TAN hotline has been shut down, or, to be more specific, you hear the same thing you hear when calling the TAN hotline.

Suggested Enhancement

Remove the first option.

Expected Benefits

It is not needed anymore, and fewer options lead to a faster way through the menu for the user.


Internal Tracking ID: EXPOSUREAPP-14675

TAN Hotline: Add information for which tests a TAN can be issued at the beginning of the call

Current Implementation

Currently, what I heard from users on Twitter, there is no information at the beginning of the call for which tests a TAN can be generated.

Suggested Enhancement

At the following information at the beginning of the call:
"Please note that the TAN hotline can only issue TANs for PCR-Test, which were analyzed in a laboratory. It is not possible to request a TAN for rapid PCR tests (result arrives 4-8h after the sample was taken) or for rapid antigen tests (result arrives 15-30 minutes after the sample was taken).

Expected Benefits

Multiple:

  1. Users who want to request a TAN for their rapid PCR or rapid antigen test are informed instantly that they won't get a TAN for their test, so they can hang up again
  2. Less people on hold, less waiting time, better experience for the users who have a normal PCR tests which a TAN can be issued for

Internal Tracking ID: EXPOSUREAPP-12871

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.