Skip to content

PavlidisLab/GemBrow

Repository files navigation

GemBrow

The Gemma Browser is a modern frontend for [Gemma]1 built on top of the [Gemma REST API]2 with [Vue.js]3 and [Vuetify]4.

Requirements

  • Node.js
  • npm
  • an HTTP server capable of delivering static assets (for deployment)

Installation

For local development or deployment, you must install the dependencies first:

npm install

Local development

Configurations are located in .env.development. Use .env.development.local to supply secrets.

npm run serve

Deployment

Configurations are located in .env.production. Use .env.production.local to supply secrets.

npm run build # or devbuild for a development build
rsync -av dist/ foo@bar:/deployment/destination/

When deploying to production, make sure that static assets are compressed. This is particularly important for the JavaScript and CSS bundles, and also fonts.

If you use Apache HTTP Server to serve the content, use the following configuration:

Alias /browse /deployment/destination
<Directory /deployment/destination>
  Options -Indexes   # prevent listing
  AllowOverride None # ignore .htaccess
  # allow everyone to access
  Order allow,deny
  Allow from all
  # compress static assets
  AddOutputFilterByType DEFLATE text/css text/javascript application/javascript font/sfnt application/font-fsnt application/vnd.ms-fontobject image/svg+xml
</Directory>

Footnotes

  1. https://gemma.msl.ubc.ca/

  2. https://gemma.msl.ubc.ca/resources/restapidocs/

  3. https://vuejs.org/

  4. https://vuetifyjs.com/