SMART is an online self-assessment tool to monitor the sustainability performance of companies in the agricutlure and food sector. We developed the technical infrastructure to help the SMART team create a user-friendly and attractive tool.
The key feature of the online tool is a questionnaire based on the structure of the FAO’s Sustainability Guidelines . The underlying questionnaire structure consists of four dimensions, 21 themes and 58 subthemes. For each subtheme there are multiple questions that can be answered with yes, no or a range between 0-100%.
The user can complete the questionnaire after a quick registration process. Following completion of each dimension, the user can view an interim analysis, which shows the scores from each themes. After completing the entire questionnaire, the user receives suggestions for measures to improve sustainability. If all four dimensions have been answered, the user sees a final analysis summarizing the scores, potential for improvement in each dimension, and a spider chart visualising the results. The final analysis can be downloaded as a pdf.
To improve the user experience, we asynchronously update every change made by the user with an API to the backend, allowing the user to pause and continue the process at every step. Editors can update and manage multiple versions of the questionnaire through an easy-to-use management section (drag and drop sorting, richt text editor etc.).
Technologies we used for this project:
- The data is stored in a PostgreSQL database.
- The online tool runs with the Django Web-Framework and Wagtail CMS.
- The AngularJS front end communicates with a RESTful API to the back end.
- The front end is built with bootstrap 3 and the help of jQuery.
- The PDF export uses wkhtmltopdf to render the whole analysis as pdf including the d3js spider diagram
I was responsible for the technical concept, the software architecture, project management and parts of the back-end development.