This is a react/redux single page application showing BigchainDB transactions as a dynamic timeline view using the valid transaction broadcast from the BigchainDB websocket. This application can be used to visualize the transactions and blocks on any BigchainDB deployment.
More details about the concept and implementation are in the /specs
directory.
UX/UI assets and artifacts are in the /ux
directory
The application code is in the /app
directory
A demo version of this app connected to a local BigchainDB node is deployed here. The transaction data is being posted by an automated job at regular time intervals.
The BigchainDB Dashboard app is also deployed for BigchainDB Testnet, here. For a quick demo, go to the BigchainDB Getting Started page and post a transaction. Come back to the dashboard to see this transaction in real time.
The app is structured as a react app created using create-react-app with added redux support.
src/actions
directory contains the react actionssrc/components
directory contains the react componentssrc/configs
directory has 2 json-config files to configure UI and BigchainDB connectionsrc/containers
directory has the container componentssrc/reducers
directory has the redux reducerssrc/services
directory has the services and utils to connect and listen to BigchainDBsrc/App.js
This is the react application the wraps and combines all the components togethersrc/index.js
This mounts the react app from App.jstest/integrationTest.js
Integration test file that produces different creates/transfer transactions on BigchainDBtest/testScript.sh
a bash script to runintegrationTest.js
every 2 secondspublic/
contains static files i.e. html, css, images
The project can be configured using 2 JSON configuration files located at src/configs
.
bigchaindb.config.json
This file can be used to configure the connection parameters for connecting to the BigchainDB network.ui-mapper.config.json
This file can be used to configure to modify what user sees in the description for transfer & create transaction card, application context name and the maximum number of blocks a user can see on the UI.
The fields create.description
& transfer.description
are used to parse the data from the raw transaction of create and transfer types respectively.
- Clone this repository
- Navigate to app folder with:
cd dashboard/app/
- Install node modules:
npm install
- Modify the
bigchaindb.config.json
&ui-mapper.config.json
as per the requirement - Run the dev server using
npm start
and open the browser onlocalhost:3000
- To create a production build you can use
npm run build
Big thanks to @mariusgoebel for help with UX design and mockups.