Web service for educational activities tracking

FMCG, Drupal Audit

Our client is a financial company. They decided to create a web service for employees of the financial organizations, allowing to track individual progress in professional training; including a multi-level permission system based on job position, and personalized dashboard experience with distinct per-user data cache.

Why Drupal was chosen

Drupal was already in use by client for the corporate site. For the same reason Drupal was chosen in the past – an excellent ratio of time invested to the business value returned – the client decided to use Drupal for this project.

Also Drupal has a very flexiball users, permissions and roles management system. It was the main requirement for this project.

The projects requrements? solutions and outcomes

Key challenges

  1. Complex roles and permissions system.

    There are several roles:

    Users with this role can see only the Frontpage.

    Bank employee.
    Users can record their training activities, print and export them. He can only enter data up to a key date. This is specified by the system, but can be changed by users with a Bank admin role. A bank employees sees only his data.

    Bank Leader.
    An executive only sees his bank employees and their training data. The Bank Leader can correct this data. An executive gets a masquerade function and support for bank employees.

    Bank Admin.
    Bank Admin manages bank employees and Bank Leader. He can do everything Bank Leader can.Furthermore, he can import and correct bank employees via a CSV file. A BankAdmin sees only its executives and bank employees. There can be several bank admins per bank.

  2. Sophisticated filters in the list of employees, grouping and sorting to create reports.
  3. Graphical visualization of report data.


The requirements for roles and permissions were implemented using the Drupal core roles and permissions system and a custom module.

For cases

The views module was used to create reports with filtering and grouping results. Custom modules that modify and extend the functionality of Views have been created. 

For cases

Chart.js JavaScript library used for charting 

For cases
For cases


The client received a web service that allows financial companies: 

  • track individual progress in professional training;
  • monitor the achievement of employee the target during the year
  • create reports on the passed events and the employees who participated in them 

600+ financial organizations and 12000+ employees are registered on the site.

Technical specifications

Drupal version:  Drupal 8.x

Key modules/theme/distribution used:

Bootstrap Barrio theme 
Email Registration 
Views (in Drupal 8 core)

Why these modules/theme/distribution were chosen:

Bootstrap Barrio theme 
We used Bootstrap Barrio theme to create custom SASS-based sub-theme. 

Used to allow users with Group admin role to switch users and surf the site as a user from the Groupe (no password required). And then switch back to their own user account at any time.

Email Registration
Module was chosen to allow users to sign in to the site using their corporate emails, not site-specific username.

To create a custom reports.

Tap into Attico

We can implement a similar solution for you


Related Cases

Consultancy, Drupal Audit, Drupal Development, Drupal SEO
How to make a long registration form attractive to users

she-expert.org is a project about women who share their knowledge and experiences.
In order to attain the status of “expert”, a site visitor must…