Skip to content

bcgsc/pori_ipr_client

Repository files navigation

Integrated Pipeline Reports (IPR) Client

Build Status build node versions DOI

Table of Contents

IPR is part of the platform for oncogenomic reporting and interpretation.

The IPR client is designed to consume API data from IPR's API. The primary function is the production and management of various reports.

This project only includes the report functionality. Tracking and biopsy input are available in the IPR-Tracking application.

The client utilizes the React web framework. The UI library used is Material-UI (MUI) for React.

Running the Client

Before running the client, the npm dependencies need to be installed:

npm install

A dev version of the client can be run using:

npm start

Dev in the above example can also be replaced by local or prod to run againt those APIs (local would be your own API instance).

Local environment will map API's to the machine's IP address and is meant to be used in parallel with a locally running API server. After starting, the local web server will watch for changes on any files in the app and rebuild the affected areas, then trigger the client (if open in browser) to reload.

The development environment maps API calls to the iprdev-api.bcgsc.ca API server that uses the separate development database. This client is built automatically by the Bamboo CI server upon merging or committing/pushing to development branch on the Bitbucket server.

The production environment maps API calls to the ipr-api.bcgsc.ca API server and uses the production database. This is built automatically by the Bamboo CI upon approving a PR merge onto the production branch.

Other build options include npm run build. This will create the static files in the dist directory, but not launch the local dev server.

Project Structure

The app directory contains all of the application logic.

  • components - Common components used across the application
  • views - Page views which can be routed to
  • services - React helper modules
  • styles - General style related files and variables
  • statics - Files and images not expected to change
  • utils - Short helper functions
  • hooks - Custom React hooks
  • context - React contexts

Resources

A demo site is available at https://pori-demo.bcgsc.ca

Contributing

Contributions are welcome! Before doing so, please open an issue with the feature that would be added. In addition, make sure that the code that is being added is linted using the rules in our .eslintrc file.