A dynamic tree thanks to the Django MPTT package

  • Adrian Schlegel

The aim was to use KOMPRA to administer an unlimited number of user-defined clients (schools) and courses. The solution is a dynamic, hierarchical ‘tree’ that is able to present all of the appraisable skills for a particular course.

Discover more about the service CMS our digital agency has to offer for you.

Based on the Django MPTT package, KOMPRA enables the administration of more than 30 user-defined courses (each is a tree root) consisting of more than 3500 nodes. Each node represents a skill, which is restricted to the relevant users (teachers or students). This enables teachers to provide students with assessments. KOMPRA offers the ability to formulate specific steps and goals and provide targeted feedback and coaching, thus helping students to advance quickly. Many of the functionalities ultimately included in Kompra came from inputs provided by the schools using the tool.

A design-intensive front end

KOMPRA’s original design was kept very minimalistic. But this no longer met requirements, and a redesign was needed. The aim of the redesign was to improve the user-friendliness and efficiency of the KOMPRA website. The associated challenge was to improve the overall interaction with diagrams and data visualisation. Furthermore, this phase was used to add attractive cosmetic and restructured elements. But first things first: in order to ensure that the front-end portion was afforded sufficient weight within the project, we needed a tool to document the various components. Fractal was the perfect candidate at this stage, as it enabled the creation of high-performance skills libraries and flexible style guides. We also used Liip’s CSS framework Kanbasu, which is very adaptable and lightweight. This framework focuses primarily on creating a strong foundation for components that can then be easily adapted.

Another challenge was the visual presentation of the data: D3.js was the perfect library for this, with primarily radar and pie charts being produced.


Tell us what you think