Giter VIP home page Giter VIP logo

accreditation_center's Introduction

README

This README would normally document whatever steps are necessary to get the application up and running.

Things you may want to cover:

  • Ruby version

  • System dependencies

  • Configuration

  • Database creation

  • Database initialization

  • How to run the test suite

  • Services (job queues, cache servers, search engines, etc.)

  • Deployment instructions

  • ...

If specific version of registry is needed in staging environment update staging_registry_version file accordingly. Or remove it if latest from the main branch is desired.

accreditation_center's People

Contributors

dependabot[bot] avatar keijoraamat avatar olegphenomenon avatar renovate-bot avatar renovate[bot] avatar thiagoyoussef avatar vohmar avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

accreditation_center's Issues

Update Rails Version

At the moment, the project uses the 5.2.1 version of the rails, I suppose that the best solution would be to update to the latest current version.

accreditation center does nost start in test

|F, [2022-10-27T11:05:32.597096 #1] FATAL -- :|
|NoMethodError (undefined method `[]' for nil:NilClass):|
|app/controllers/interactions/cache_initializer.rb:35:in `set_transfer_domain_data'|
|app/controllers/interactions/cache_initializer.rb:10:in `generate_values'|

Notifications

With addition on accreditation center we will start requiring re-accreditation test from all registrars every 2 years. As registrar and user management is done in registry admin it needs to keep track of the accreditation test expiration. So if test is passed (initial or renewal) the data in regsitry will need to be updated (RestEPP API?)

System needs to notify accredited users that the time for retesting is closing - multiple notification emails ie 14 days and 7 days before test expiration and on the day accreditation expires.

For this to work an extra email address field needs to be added to the epp user profile in the registry admin.

Also registries registrar coordinator needs to be notified (send message to 'Registry billing email') when the last accredited user of a registrar has reached the accreditation expiration date.

https://docs.google.com/document/d/1j8TidOqhfFxS_0WIKhWLtk9ezWR6tLSJth7hmLbWOps/edit?usp=sharing

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency node-polyfill-webpack-plugin to v4
  • Update dependency style-loader to v4
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

bundler
Gemfile
  • ruby 3.0.3
  • rails '~> 6.1.4'
  • pg undefined
  • puma '~> 6.0'
  • sass-rails '~> 6.0.0'
  • webpacker '~> 5.0'
  • turbolinks '~> 5'
  • jbuilder '~> 2.7'
  • bootsnap '>= 1.4.4'
  • devise undefined
  • faker undefined
  • rails_admin '~> 3.0'
  • cancancan undefined
  • rexml '~> 3.2', '>= 3.2.4'
  • faraday undefined
  • faraday_middleware undefined
  • figaro undefined
  • terser undefined
  • byebug undefined
  • database_cleaner undefined
  • factory_bot_rails undefined
  • rspec-rails '~> 6.1.0'
  • web-console '>= 4.1.0'
  • listen '~> 3.6'
  • rack-mini-profiler '~> 3.0'
  • spring undefined
  • pry undefined
  • capybara '>= 3.26'
  • selenium-webdriver undefined
  • simplecov '0.17.1'
  • webdrivers undefined
  • rails-controller-testing undefined
  • tailwindcss-rails "~> 2.0.0"
docker-compose
docker-compose.yml
github-actions
.github/workflows/build_demo.yml
  • actions/checkout v3
  • ubuntu 20.04
.github/workflows/build_deploy_staging.yml
  • actions/checkout v3
  • ubuntu 20.04
.github/workflows/remove_st_after_pr.yml
  • actions/checkout v3
  • ubuntu 20.04
.github/workflows/ruby.yml
  • actions/checkout v3
  • ruby/setup-ruby v1
  • actions/upload-artifact v3.1.3
  • actions/download-artifact v3.0.2
  • postgres 15
  • ubuntu 20.04
npm
package.json
  • @rails/actioncable ^7.0.0
  • @rails/activestorage ^7.0.0
  • @rails/ujs ^7.0.0
  • @rails/webpacker 5.4.4
  • jquery ^3.6.0
  • node-polyfill-webpack-plugin ^2.0.1
  • popper.js ^1.16.1
  • toastr ^2.1.4
  • turbolinks ^5.2.0
  • webpack ^5.0.0
  • webpack-cli ^5.0.0
  • @babel/core ^7.21.4
  • @babel/preset-env ^7.21.4
  • babel-loader ^9.1.2
  • sass-loader ^13.2.2
  • style-loader ^3.3.2
  • css-loader ^6.7.3
  • @babel/core ^7.21.4
  • @babel/preset-env ^7.21.4
  • babel-loader ^9.1.2
  • css-loader ^6.7.3
  • mini-css-extract-plugin ^2.7.5
  • node-sass ^8.0.0
  • sass-loader ^13.2.2
  • style-loader ^3.3.2
  • webpack-dev-server ^4.11.1
  • webpack-merge ^5.8.0
ruby-version
.ruby-version
  • ruby 3.0.3

  • Check this box to trigger a request for Renovate to run again on this repository

Refactor accreditation status updates to production registry

As discussed lets refactor the accreditation status update to production registry so that production registry requests the updates directly from the test registry

two option

  • admin presses a button to request an update for a specific user/regsitrar/all regsitrars
  • scheduled background job that can be set to run regularly and that requests accreditation statuses for all/any users

Practical part of the tests

Practical part of the tests involve solving tasks in registry test environment. There is not question pool here. The tasks are the same in every test the varying part is the object name (ie register a domain name wannabecomearegistrar123.ee where the domain name is generated unique variable value)

Users reads the question in the accreditation center, completes the task in registry test environment. When done presses done button for example in the accreditation test and system verifies if the task was indeed solved successfully (objects are created, the epp queries used included all the necessary elements - on such example being if verified element was correctly used), gives feedback and user can proceed to next task.

https://docs.google.com/document/d/1j8TidOqhfFxS_0WIKhWLtk9ezWR6tLSJth7hmLbWOps/edit?usp=sharing

Admin feedback

  • deleting quiz results ended with internal error - same result with single quizz result deletion and multiple at once
    image

  • show in app button takes admin to the fresh quizz (no answers) does not seem helpful, could this be made to point to finished test with user given answers for review
    image

  • when i have a test passed i cannot take another one - when can a user take a retest after passing one?
    image

  • each answer can be assigned to only one question at a time - is it possible to loose the separate answers section from the ui
    image

  • what is the point of answerquestions section - it shows answer question groups but it also have quiz pointer indicating like each question should be assigned to a quiz template - but the value of this is hard to grasp. Maybe hide this option as well if possible
    image

translation issues:

  • mixed language in ui (no language selection) - this one is not in admin!
    image

  • answers have en and et language options while questions do not
    image

Connect RSpec

For testing on this project, it is better to use a more flexible and modern library RSpec

Test results

The test results are saved and accessible for user in the accreditation center for 30 days. User can see the questions, given answers, what would have been the correct answer in case of incorrect choice was made and whether the test was passed or failed. Detailed results are accessible only to the user that made the test and registry admins

After 30 days the details are deleted and only final results (passed/failed together with time and date) are kept.

Test results of previous tests are inaccessible while user has activated a test.

The other users of a registrar can also see the results of other users' tests without the details (only final result - passed/failed and date and time).

Test results are also sent to registry - in case of passed test user is marked as accredited and 2 year validity period starts.

https://docs.google.com/document/d/1j8TidOqhfFxS_0WIKhWLtk9ezWR6tLSJth7hmLbWOps/edit?usp=sharing

Tests' pool

Main function fpr Accreditaion center's management interface is managing tests - adding new questions and excercises to the pool with answer variants plus editing and deletiong existing ones.

Questions must have grouping options so that in generating tests system would be able to choose 5 questions about domain registrations, 3 questions about liabilities of the registrant etc.

The management interface could also be a plugin or extension to registry admin

https://docs.google.com/document/d/1j8TidOqhfFxS_0WIKhWLtk9ezWR6tLSJth7hmLbWOps/edit?usp=sharing

Authenticating users

Registrar and user creation takes place in registry admin. So accreditation portal should authenticate against or get the user information from the registry (Rest EPP API?)

Also on every authentication (login) the user's accreditation info should be passed to accreditation center so the user would have access to info about accreditation status and expiry date. Also the status of other users of the same registry should be passed along - every user has an overview on who is accredited in their registrar and when does the accreditation expire.

https://docs.google.com/document/d/1j8TidOqhfFxS_0WIKhWLtk9ezWR6tLSJth7hmLbWOps/edit?usp=sharing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.