@molgenis-experimental/molgenis-app-lifelines-webshop
v4.7.8
Published
## Install
Downloads
21
Readme
Lifelines webshop
Install
cp .lifelinesrc.example .lifelinesrc
yarn install
yarn run serve
i18n For development and testing you can add your translations to
i18n.schemas.js
For production make sure to add the translations to the molgenis entityLocalization
usinglifelines-webshop
as a namespace.tip: Use
i18n.schemas.js
to create theLocalization
entities. Formsgid
add the schema key (for example: "lifelines-webshop-sidebar-header") The namespace should belifelines-webshop
and than add all of the needed translations.
Common commands
yarn build # Compile and minify
yarn test # Run your tests
yarn lint # Lints and fixes files
yarn test:e2e # Run your end-to-end tests
yarn test:unit # Run your unit tests
Deployment (Kubernetes)
Ask Ops for help to setup kubectl and Rancher if you don't have them setup yet.
Deploy the
lifelines-webshop
Helm chart on Rancher. Write down the generated Molgenis token in theTRANSFORM
section.Install Molgenis commander
Add
deployment/datasets
directory to thedataset_folders
section of~/.mcmd/mcmc.yaml
Add
deployment/resources
folder to theresource_folders
section of~/.mcmd/mcmc.yaml
Configure Molgenis commander to run on the lifelines server
mcmd config add host mcmd config set host
Set the ll_admin password in the lifelines script
cp ./deployment/lifelines ~/.mcmd/scripts/ vim ~/.mcmd/scripts/lifelines add user ll_admin --set-password *******
Proxy the Molgenis instance and follow the commander script to setup the server:
kubectl port-forward svc/molgenis 8080:8080 --namespace lifelines-catalog-test mcmd run lifelines -i
Login as admin to Molgenis and add the
TRANSFORM
Molgenis token you generated earlier the Helm chart.Go to the Transform pod on Rancher and test the Transform with:
kubectl create job manual-transform --from cronjob/transform --namespace lifelines-catalog-test
Dataflows
To transform the raw data to a format that can be used by this app, use the molgenis-py-lifelines-transform tool.
Workflow of the catalog
Order process
Production settings
A couple of things have to be configured in order to run this app in production:
vue.config.js Add a public path to specify the path on which the app is served.
const packageJson = require('./package.json') ... module.export ... publicPath: process.env.NODE_ENV === 'production' ? packageJson.name + '/dist/' : '/',
package.json Add a scope for the package name to publish to a organisation scope on NPM.
"name": "*scope*/molgenis-app-lifelines-webshop",
Add the publish config with scope public, otherwise you cannot publish to NPM.
"publishConfig": { "access": "public" },
Add a target for webservers to resolve to.
"main": "dist/index.html",
Add directories to pick up when building for production.
"files": [ "dist", "src" ],
route.ts Change the default base when you want to serve your app on a path other than
/
export default new Router({ ... base: process.env.NODE_ENV === 'production' ? packageJson.name : process.env.BASE_URL,