Skip to content

Javascript client that uses the WebGnomeAPI to create and run py_gnome models.

Notifications You must be signed in to change notification settings

NOAA-ORR-ERD/WebGnomeClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,807 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebGnomeClient

build status

Javascript client that uses the WebGnomeAPI to create and run py_gnome models. Instructions on how to setup a WebgnomeAPI server and OilLibraryAPI server can be found here API Setup

Application Requirements

System Requirments

  • Node.js
  • npm
  • grunt-cli
  • Some form of http server, webroot set to ./dist/build and directory index set to build.html (created after running grunt build)

Setup Instructions -- running locally

  1. Install Node.js and npm for your platform.
  • Linux: use the system package manager

  • Windows: install from:

  • OS-X: install via conda, or another source (homebrew, etc.)

(npm should be installed with node)

  1. Install the yarn npm manager:

npm install -g yarn

  1. Install the JS dependencies: From the webgnomeclient repository root, run the following:

yarn install

To update dependencies in the future, run yarn install again.

  1. Install grunt:

npm install -g grunt

  1. To run a develop server, run:

grunt develop

NOTE: for a deployed server, you will want to run grunt build and use a production web server.

Command summaries

yarn install

Installs all of the applications dependencies described in package.json.

grunt develop

Alias for grunt less:compile connect:start watch:css. Sets up a working development environment by compiling less files, starting a http server, and setting up a watch task for the less to recompile on change.

grunt build

Builds a compiled version of the application into a single index.html file (marginally supported currently, still has a few external image and font dependancies that are relatively pathed) located in ./dist/build/.

grunt build:lite

Simpler version of grunt build, sets up the applcation for requirejs based dynamic builds.

grunt serve

Starts a http server on port 8080 for serving dynamic builds.

grunt docs

Generate JSDoc based documentation. Located in ./dist/docs.

grunt lint

Runs jshint over application source files

grunt test

Runs jshint over application source files, followed by a series of selenium tests. (Only works if you have a working client on your system running at http://localhost:8080).

grunt test:demos

Similar to grunt test but only runs use case specific demo tests.

Running on a production server with Docker

NOTE: this may not be up to date.

This set of commands will set up and run the whole thing (from the CI configuration)

(In a Dockerfile)

RUN cd /webgnomeclient && npm install && npm install -g grunt

Installs the needed npm packages listed in package.json and installs the grunt package globally so that it can be used as a command (something that can't be done with the local dependency list in package.json)

RUN cd /webgnomeclient && grunt install

Runs the grunt install command that's configured in gruntfile.js

RUN cp /webgnomeclient/config-example.json /config/config.json

Copies the example config file to the config directory and renames it. /config is noted as a docker volume so that when running the container you can provide your own config instead if the default isn't what you want.

RUN ln -s /config/config.json /webgnomeclient/config.json

This symlink is so that the replaceable (through a docker volume) config file can be used by the application.

About

Javascript client that uses the WebGnomeAPI to create and run py_gnome models.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8