Giter Club home page Giter Club logo

bc-wallet-demo's Introduction

License Lifecycle:Maturing

BC Wallet Demo

Overview

This application provides a showcase for the BC Wallet to illustrate the use cases for verifiable credentials. This application will take users through multiple steps to demonstrate how verifiable credentials are issued and verified using the BC Wallet.

Running

Copy env files

Copy the files server/.env.example and client/.env.example to server/.env and client/.env
Edit the .env files to match your project needs

Option 1 - Native

Please make sure you have a recent version of node, npm, and yarn installed These steps are executed from the root folder of the project:

yarn install

yarn dev

The application will now be running at http://localhost:3000

Option 2 - Docker

These steps assume that you have docker installed

These steps are executed from the root folder of the project:

Build the client:

docker build -t bc-wallet-demo-client . -f DockerfileClient

Build the server:

docker build -t bc-wallet-demo-server . -f DockerfileServer

Start the server:

docker run --name bc-wallet-demo-server -p5000:5000 --rm --env-file server/.env bc-wallet-demo-server

Start the client:

docker run --name bc-wallet-demo-client -p3000:3000 -v `pwd`/Caddyfile:/etc/caddy/Caddyfile --rm --env-file client/.env bc-wallet-demo-client

The application will now be running at http://localhost:3000

Contributing

Pull requests are always welcome!

Please see the Contributions Guide for the repo.

Before contributing please run yarn lint --fix and fix any linter warnings in your code contribution.

You may also create an issue if you would like to suggest additional resources to include in this repository.

All contrbutions to this repository should adhere to our Code of Conduct.

bc-wallet-demo's People

Contributors

amanji avatar janrtvld avatar rajpalc7 avatar repo-mountie[bot] avatar timoglastra avatar wadeking98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bc-wallet-demo's Issues

Update Issuer/verifier names

Use "Demo" or "Showcase" in the name of the issuer and verifier

Update OCA Bundles of the:

  • Person credential
  • LSBC member card
  • Student Card

to include DEMO in their alias.

Handle Declined Proof Request

If the user declines a proof request, the user gets stuck in the flow. There is no way to re-send the proof request

Lawyer Showcase v2

We need a separate version of the lawyer showcase, one that demonstrates how VP might work in conjunction with the LSBC VC.

It could eventually live at /showcase/lawyer2 or similar.

It will not replace nor affect the lawyer showcase that solely uses the LSBC VC.

Please could this second version be set up, even with dev / staging URLs for now.

Update BC Wallet instructions to use app store

Content (desktop):

1. Download BC Wallet on your phone
To download, scan the QR code on your phone or select the apps store icon below. You can also search for BC Wallet in your phone's apps store.

2. Complete the setup
Complete the onboarding process and setup up your PIN.

Content (mobile)

1. Download BC Wallet on your phone
To download, select the apps store icon below. You can also search for BC Wallet in your phone's apps store.

2. Complete the setup
Complete the onboarding process and setup up your PIN.

BC Wallet app URLs

Apple app store URL: https://apps.apple.com/us/app/bc-wallet/id1587380443
Google play URL: https://play.google.com/store/apps/details?id=ca.bc.gov.BCWallet

Please see wireframes:

https://xd.adobe.com/view/c92660d6-7fa9-4a97-bd93-5a2f53d5e685-9c75/

Acceptance Criteria

Given a Person is on their desktop
When they select to download BC Wallet
Then they are presented with the content as described in the Content (desktop) section
And a QR code is displayed that links to the appropriate application store

Given a Person is on their mobile
When they select to download BC Wallet
Then they are presented with the content as described in the Content (desktop) section

Given a Person has selected the BC Wallet to download
When they select either the the App Store or Google Play
Then the respective app store will open on their device

Update the connection screen text and images as per wireframes

Update the connect page (current title: "Connect with BestBC college") with the wireframe's text and imagery as screenshotted below.

Altnerative option: just update the text. Alternative option 2: update the text, and the left image (surrounding the QR code), but not the right.
image.png

open in wallet link not working as expected

It seems like there is some code running on the client side waiting for the connection, however the browser no longer have focus, so it doesn't send the credential until switch back to browser

Need text changed on site link preview

We need new text for the meta title and description for the site.

Metadata title: "BC Wallet Showcase"
Metadata description: "Explore how you can use BC Wallet to prove things about yourself, in a way that's safe and secure."

Text fix on 'That's not what we expected'

  • Change 'open it again' to 'opening it again'.
  • Change 'we can send a new request' to 'scan a new QR code' — if that's the intended outcome. Or, if it reuses the connection, change it to 'send another credential' (or whatever).

Showcase error using multiple devices

Issue reported from a user:

"What I tried to do was run the showcase and BC Wallet on my iPhone. That worked well (except for the UX/UI bouncing over to BC Wallet and having to manually switch back to Showcase).

"Then I ran the showcase on my iPad, and BC Wallet on my wife’s iPhone. I issued the credential and ran the showcase demos; it all worked.

"Then I tried to go back to the showcase homepage on my iPad to re-run it, with the intent of using my iPhone and BC Wallet. I skipped the credential issuing because I already had my credential from my first run of showcase when I ran it and BC Wallet on my iPhone. The proof request for the student credential expiry date generated an error on BC Wallet. (See image below.)"

showcase-error-img.jpg

Fix spelling in content

See changes highlighted in green in the content document.

  • LSBC -> Law Society of British Columbia
  • CSB -> Court Services Branch
  • Verified Person -> Person credential
  • Lawyer2 -> Joyce
  • Ensure all sentences end in a period
  • Headers should only have the first word capitalize (unless other words are pronouns ex. Get your Law Society of British Columbia credential)

Basically spell out all abbreviations unless it's a pronoun.
ex. BC Wallet, BC Services Card are all pronouns.

Screenshots below

Screen Shot 2022-11-01 at 9.15.31 AM.png

Screen Shot 2022-11-01 at 9.22.29 AM.png

image.png

image.png

image.png
Fix capitalization, spell out acronyms. missing period.

Text change on "Confirm what to send" screen

On "Confirm what to send" screen during verification journey 1, change:
"Notice how it will only share that you're a current student (i.e. yes or no)."
to:
"Notice how it will only share if the credential has expired or not—not even the expiry date itself gets shared."

And on verification journey 2, change:
"they automatically know you're a current student as well."
to
"they automatically know your student card hasn't been revoked."

Remove text from "Demo completed"

On the "Demo completed" modal, remove this text:

"Congratulations on completing all use cases for this character. Feel free to try the demo again with a different character."

Open the app stores on a different tab

When on the install BC Wallet page and selecting any of the app stores, it opens on the same tab. You have to find the demo link again and you lose the progress you made in the demo.

Please open the app stores on a different tab.

Make verification journeys repeatablw

Currently, when a verification journey is complete, it gets a check mark but is not selectable. We need to change it so the button is still selectable if the user wishes to repeat the journey.

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.