Psymetrik — Case Study

Psymetrik is a leading consulting firm specializing in psychometric solutions. Their award-winning GROP test is widely utilized by companies and schools throughout the Quebec province.

Background

  • Allow administrators to manage the website
  • Allow users -- students or others -- to take the GROP test (from 1 to 200 users at any given time)
  • Allow professionals (~1000 users) to access and analyze the test results
  • The previous iteration was built around custom PHP Zend framework through and through

Problems

  • Dated design
  • Maintainability: the current solution was custom built by one individual on a dated framework
  • Complex data manipulation

Solution

Administrative Tools

The administrative portion of the website caters to administrators at Psymetrik, as well as over a thousand counseling professionals.

  • Port content management to Drupal
    • Open-source
    • Maintained, security overview
    • Large community
    • Robust
  • Professionals
    • Manage test results and groups
    • Access to auto-generated HTML and PDF versions of the data analysis resulting from the tests
    • Automated mailing system to send students/clients links to tests, as well as the related results
  • Reliance on Excel files complex calculation and content update
    • Test evaluations are based on complex data manipulation, too complex and restrictive to be converted to an algorithm. In order to grant flexibility to Psymetrik's data analysts, Excel files are uploaded directly into the system for data-sensitive content.

Test-taking application

The test consists in a registration area, granting access to a 4-section/~300-question test.

  • Detached front-end (React.js)
  • Alleviate burden on server
  • Improved user experience
  • Allow users to continue test later

Professions: Embedded React application

An application that allows the user to sort and filter through a large dataset of professions, based on the user's test results.

  • Runs within the Drupal CMS
  • The display required too much dynamic data manipulation, which would have put undue pressure on the server. The information is loaded in one fell swoop, then manipulated by the user without further exchange with the backend.
  • This application also relies on Excel for data manipulation; however in this instance, it was pushed it a little further by performing calculations within the file itself for every test passed, granting even more fine-tuning capabilities to data analysts.

Implement a rudimentary testing framework for the frontend applications (Cypress)

Operating Stack

  • Drupal / PHP
  • Nginx
  • React.js
  • Node.js
  • GraphQL
  • AthenaPDF
  • PhpSpreadsheet
  • Cypress