Portal UI design inspired by the iHMP Data Portal and developed with the framework from the NIH NCI GDC Data Portal.
Data sets and metadata hosted and access controlled by the Broad Institute FireCloud.
The GraphQL server used with this portal is the BIOM-Mass FireCloud GraphQL server.
- React - JavaScript library for building user interfaces
- Relay - JavaScript framework for building data-driven React applications
- Redux - Predictable state container for JavaScript apps
- Recompose - React utility belt for function components and higher-order components
- Flow - Static type checker for JavaScript
- Jest - Delightful JavaScript testing
- d3 - Data-Driven Documents
Install brew and other dependencies (Ubuntu 16.04).
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install -y nodejs
sudo npm i -g npm@6.4.1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
export PATH=$PATH:/home/linuxbrew/.linuxbrew/bin # add this to the end of the $HOME/.bashrc file too
Install Watchman with Homebrew with the command $ brew install watchman
.
Install the other required packages for this portal with $ npm i
(use Node v8.[16|17] (npm v6.4.1)).
Install the BIOM-Mass GraphQL server and start it running.
Next start the portal ui with the command $ npm start
.
- Start the BIOM-Mass GraphQL server running.
- Build the source for the UI with
$ npm run-script build
. - Build the docker image with
$ sudo docker build -t portal-ui .
. - Start the docker container (allowing access to host ports)
$ sudo docker run -d --network=host --name portal-ui portal-ui
.
These steps are included in the build.bash
script.
To generate a schema of the local GraphQL server run the command $ node ./data/getSchema
.