Branch | Version | CI | Coverage |
---|---|---|---|
Master | v1.6.0 | ||
Development | v1.6.0 |
A desktop application written on top of the Electron Framework facilitating easy uploading and downloading of genomic data to the St. Jude Cloud. Functionality includes:
- Logging in using OAuth for both internal and external St. Jude users.
- Reliably uploading and downloading genomic data files to/from the platform.
You can find the latest built version of the tools on the releases page.
If you'd like to build yourself, you'll also need the following prerequisites installed:
Name | Install Link |
---|---|
NodeJS | Using NVM or Official Site |
You must use version 12 of NodeJS and version 6 of NPM. We recommend installing NVM, then running nvm install 12
.
This will handle installing both the correct Node version and the correct NPM version.
The process for installing the software in production mode:
# download repository
git clone git@github.com:stjude/sjcloud-data-transfer-app.git
cd sjcloud-data-transfer-app
npm i # install dependencies
export NODE_ENV=production # set the Node environment. Can be 'production' or 'development'.
# set NODE_ENV=production # if you're on Windows cmd.exe.
# $Env:NODE_ENV = "production" # if you're on Windows powershell.
npx gulp compile # compile the frontend/backend code.
npm start # start the application.
Running the tool in development mode requires a few changes to the config:
# download repository
git clone -b development git@github.com:stjude/sjcloud-data-transfer-app.git
cd sjcloud-data-transfer-app
npm i # install dependencies
export NODE_ENV=development # set the Node environment. Can be 'production' or 'development'.
# set NODE_ENV=development # if you're on Windows cmd.exe.
# $Env:NODE_ENV="development" # if you're on Windows powershell.
npx gulp compile # compile the frontend/backend code.
npm run start:dev # start the application.
Note that we recommend that you use the following environment variables when developing:
export AUTOUPDATE_ENABLED="false"
export CHROMIUM_MENU="true"
# set AUTOUPDATE_ENABLED="false" # cmd.exe
# set CHROMIUM_MENU="true" # cmd.exe
# $Env:AUTOUPDATE_ENABLED="false" # PowerShell
# $Env:CHROMIOM_MENU="true" # PowerShell
We recommend that in practice, you use the following command in a separate tab to recompile the code as you make changes:
# continuously recompile frontend/backend code
npx gulp develop
If you are only working with the front-end code, you can develop in the web browser, which should automatically open up BrowserSync.
End-to-end testing is as simple as running the following command.
npx gulp test
If you have any issues, please file a bug report at the issues page.