Platform for hosting lightweight web applications using high performance computing infrastructures
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
doc
lib
log
misc
public
spec
user_apps
vendor/assets
.gitignore
.hound.yml
.rspec
.rubocop.yml
.ruby-version
.travis.yml
CHANGELOG
Gemfile
Gemfile.lock
Guardfile
Procfile
README.md
Rakefile
VERSION
config.ru
package.json

README.md

PlgApp Build Status Code Climate Test Coverage Dependency Status

Scientific application development made easier

PlgApp is a platform for hosting lightweight web applications using PL-Grid high performance computing infrastructures.

Dependencies

  • MRI 2.2.x
  • postgresql, libpq-dev
  • ImageMagic or GraphicsMagic

Installation

Install required gems:

bundle

Create databases:

bin/rake db:create db:migrate db:seed db:test:prepare

Make sure that puma configuration is in place and configured

cp config/puma.rb.example config/puma.rb
edit config/puma.rb

Proxy endpoints validation

User app is able to connect into Rimrock, Datanet and PlgData. To avoid MitM attack we verify these services certificates (signed by Terena). To install Terena certificates execute following commands:

cd /etc/ssl/certs
sudo wget https://www.terena.org/activities/tcs/repository/AddTrust_External_CA_Root.pem
sudo wget https://www.terena.org/activities/tcs/repository/UTN-USERFirst-Hardware.pem
sudo wget https://www.terena.org/activities/tcs/repository/TERENA_SSL_CA.pem
sudo c_rehash .

Running

Foreman is responsible for starting 2 processes: web serwer and delay jobs serwer (sidekiq).

foreman start

Testing

To execute all tests run:

bin/rspec

Use guard to execute tests connected with modified file:

guard

To execute karma tests run:

bundle exec rake karma:test

To run interactive karma test engine (which will retest every time a test or code is changed) run:

bundle exec rake karma:run

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new pull request