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 entity Localization
using lifelines-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.
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
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 the TRANSFORM
section.
Install Molgenis commander
Add deployment/datasets
directory to the dataset_folders
section of ~/.mcmd/mcmc.yaml
Add deployment/resources
folder to the resource_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
To transform the raw data to a format that can be used by this app, use the molgenis-py-lifelines-transform tool.
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,