Sidekiq backed qualification data update, periodic update, bootstrap based ui, tests

Gaurav 8de028b23a README rename .. 2 years ago
app a963e7e207 minor .. 3 years ago
bin dbc251835b First commit .. 3 years ago
config dbc251835b First commit .. 3 years ago
db dbc251835b First commit .. 3 years ago
lib dbc251835b First commit .. 3 years ago
log dbc251835b First commit .. 3 years ago
public dbc251835b First commit .. 3 years ago
spec dbc251835b First commit .. 3 years ago
vendor dbc251835b First commit .. 3 years ago
.gitignore dbc251835b First commit .. 3 years ago
.rspec dbc251835b First commit .. 3 years ago
.ruby-version dbc251835b First commit .. 3 years ago
Gemfile dbc251835b First commit .. 3 years ago
Gemfile.lock dbc251835b First commit .. 3 years ago
README.md 8de028b23a README rename .. 2 years ago
Rakefile dbc251835b First commit .. 3 years ago
config.ru dbc251835b First commit .. 3 years ago

README.md

README

Setup:

gem install bundler (if not installed)

cd qualifications

bundle install

bundle exec rake db:create

bundle exec rake db:migrate

To enable Sidekiq and run background tasks:

bundle exec sidekiq

redis-server

Import Qualification Data:

Use one of the two options:

Option 1: If Redis and Sidekiq are installed and running:

bundle exec rake qualifications:import_in_background

This imports the qualification data in the background and starts hourly update of local data

Option 2: If Redis and/or Sidekiq are not installed/running:

bundle exec rake qualifications:import

This imports the qualification data. No data update scheduling gets triggered.

Run application server:

bundle exec rails s

Tests:

RSpec used for basic unit and controller tests.

bundle exec rake db:drop RAILS_ENV=test

bundle exec rake db:create RAILS_ENV=test

bundle exec rake db:migrate RAILS_ENV=test

Run 'rspec' to run tests

Web Application url:

Visit Application - http://localhost:3000 (make sure application server is up)

Download Source code

Interface:

The application uses bootstrap. The qualifications are loaded in an accordion. Clicking on the qualification title opens the accordion and shows the subjects. The subjects are color coded based on the html colour codes. The user interface is responsive and provides an optimal viewing and interaction experience across wide range of devices.

Application:

The application uses Importer service to import the qualifications. Sidekiq is used for running import task asyncronously. Sidekiq is also being used to periodically update the local qualification and subject data.