Skip to content

Demo for health wallet with Verifiable Credentials and Decentralized Identifiers

License

Notifications You must be signed in to change notification settings

smart-on-fhir/health-cards-tests

Repository files navigation

Health Cards Tests

Using the hosted demo components

Mobile Wallet demo at https://c19.cards

  • Click "Connect to Lab and get tested" to retrieve a VC
  • Review details (URLs, DIDs, keys, etc) in Dev Tools
  • Menu > "Scan QR Code" to share your VC with a verifier (e.g., the Verifier demo below)

Verifier demo at https://c19.cards/venue

  • OpenID Request QR code is displayed automatically
  • Review details (URLs, DIDs, keys, etc) in Dev Tools
  • Scan the barcode from your Mobile Wallet to share your VC (e.g., the Mobile Wallet demo above)

Run locally in dev, with node and parcel watchers

This demo should work with Node.js 15 (current LTS) as well as Node.js 13. See Dockerfile for details if you want to build/develop locally using docker; otherwise, you can get started with:

git clone https://github.com/smart-on-fhir/health-cards-tests
cd health-cards-tests

# In first terminal
export SERVER_BASE=http://localhost:8080/api
npm run dev-ui # Terminal 1

# In second terminal
export SERVER_BASE=http://localhost:8080/api
npm run dev    # Terminal 2

Build and run locally (no watchers)

npm run build-ui
npm run build

export SERVER_BASE=http://localhost:8080/api
npm run dev

Run locally in Docker

docker build -t health-wallet-demo .
docker run --rm -it --env SERVER_BASE=http://localhost:8080/api -p 8080:8080 health-wallet-demo

Run dev-only containers with watchers in Docker-Compose

export USER=$(id -u)
docker-compose --env-file ./compose.env up

You can use the docker-compose.yaml file to spin up two dev containers with watchers, one for the UI and one for the server.

Note the following

  1. Both containers have their src directories bind-mounted to the local directory's src folder. Any changes made in the dev container (or the host) will propagate to both containers + host and be registered by the watchers. This is helpful since you can, for instance, launch programs inside the dev container and utilize dev dependencies without needing to ever install them locally.
  2. Both containers have their dist folders mounted to a named volume. This means the parcel watcher in the dev-ui container can write changes that are accessible by the dev container. Note the dev-ui container needs root privileges for this. See this issue for details.
  3. The dev-ui container has root privileges, but it has been given read-only access to the src folder. Any changes to src made from within this container will not be seen by the host or dev container.

Testing endpoints

See testing-endpoints.md for details.

Test portals

The demo folder constains a project for test portals illustrating the issuance and validation of SMART Health Cards; see its README.md for details.

About

Demo for health wallet with Verifiable Credentials and Decentralized Identifiers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages