| 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" # PowerShellWe 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 developIf 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 testIf you have any issues, please file a bug report at the issues page.