Git Product home page Git Product logo

dashboard's Introduction

BigchainDB Dashboard/Explorer

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

Live Demo

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.

Structure

The app is structured as a react app created using create-react-app with added redux support.

  1. src/actions directory contains the react actions
  2. src/components directory contains the react components
  3. src/configs directory has 2 json-config files to configure UI and BigchainDB connection
  4. src/containers directory has the container components
  5. src/reducers directory has the redux reducers
  6. src/services directory has the services and utils to connect and listen to BigchainDB
  7. src/App.js This is the react application the wraps and combines all the components together
  8. src/index.js This mounts the react app from App.js
  9. test/integrationTest.js Integration test file that produces different creates/transfer transactions on BigchainDB
  10. test/testScript.sh a bash script to run integrationTest.js every 2 seconds
  11. public/ contains static files i.e. html, css, images

Configurations

The project can be configured using 2 JSON configuration files located at src/configs.

  1. bigchaindb.config.json This file can be used to configure the connection parameters for connecting to the BigchainDB network.
  2. 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.

How to deploy

  1. Clone this repository
  2. Navigate to app folder with: cd dashboard/app/
  3. Install node modules: npm install
  4. Modify the bigchaindb.config.json & ui-mapper.config.json as per the requirement
  5. Run the dev server using npm start and open the browser on localhost:3000
  6. To create a production build you can use npm run build

UX Credits

Big thanks to @mariusgoebel for help with UX design and mockups.

dashboard's People

Contributors

gautamdhameja avatar mariusgoebel avatar shekhar-shubhendu avatar

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.