A mini app to track trials - link.
To start development process:
$ git clone git@github.com:opentrials/tracker-ebola.git
$ cd tracker-ebola
$ npm install && npm dedup
$ npm run develop
The config system uses two sources of settings:
- environment variables e.g.
ACCESS_TOKEN=okfn
(overrides) config.json
in the root of the project e.g.{"access": {"token": "okfn"}}
(defaults)
To see the current configuration:
$ npm run config
The project follow the next style guides:
To check the project against JavaScript style guide:
$ npm run review
The project is building automatically using command to start the development server or at CI/CD server for production. To manually build the project use:
$ npm run build
To start tests:
$ npm run test
To start tests with coverage:
$ npm run coverage
Coverage data will be in the coverage
directory.
The project uses continous integration and deployment (CI/CD) approach.
To deploy you only have to push your changes to Github:
- changes will be automatically pulled by CI/CD service
- the project will be builded and tested
- the project will be deployed to Heroku
Deployment to Heroku will be done only on master branch on green builds.
More sofisticated CI/CD strategy with stage/production splitting is planned for next stages of the project.
To tweak the process use .travis.yml
file in the root of the project.
For now the static contents are checked into the repository because the building process relies on the sass
gem for Ruby. Tasks:
- it should be migrated to
gulp-sass
based onnode-sass
Dockerfile
should be updated to cover the build step- static contents should be added to the
.gitignore
file