This contains the ReactJS UI client for the Keyhole Virus Tracker, a Hyperledger Fabric blockchain implementation for tracking virus lab test results.
The blockchain implementation this repository interacts with is described in detail in this recent free white paper: Tracking Lab Results Better With Blockchain Technology (and why it's a better solution for this use case than a traditional data sharing model).
-
Set up and run Keyhole Virus Tracker Hyperledger Fabric: https://github.com/in-the-keyhole/keyhole-virus-tracker
- This project implements a HyperLedger blockchain network with chaincode that manages a ledger of Influenza tests. The chaincode implements functions to create and retrieve Influenza test results.
-
Set up and run the Gateway: https://github.com/hyperledger-labs/keyhole-fabric-api-gateway
- The communication gateway to the Byzantine Hyperledger Fabric runtime
-
-> (You are here) Set up and run the UI: https://github.com/in-the-keyhole/byzantine-flu-ui
-
Hyperledger Brower: https://github.com/in-the-keyhole/byzantine-browser
- A website showing the actual blockchain and the associated metadata
- Run
npm install
in the project folder to install the dependencies. - Execute
npm start
to launch the UI. - The UI is proxying
/api
requests to http:localhost:4000 using webpack-dev-server. To change the proxy port, edit the proxy in the package.json.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
This project was bootstrapped with Create React App.
For additional information on React, find the most recent version of Create React App guide here.
GeoJSON data leveraged from http://eric.clst.org/tech/usgeojson/
To run in Docker, edit the nginx.conf file and set the upstream host name to the host name of the byzantine-gateway:
upstream api_gateway { server <host_name>:9090; }
docker run --rm -p 3000:3000 -v /<absolute path>/byzantine-flu-ui/nginx.conf:/etc/nginx/conf.d/nginx.conf:ro keyholesoftware/byzantine-flu-ui:stable