dice-cyfronet / plgapp

Platform for hosting lightweight web applications using high performance computing infrastructures
https://app.plgrid.pl/
1 stars 0 forks source link

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

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