Improvement of the No-Code Tool “Decision Support UI”
Horticultural Sciences Department, University of Bonn
The tool “Decision Support UI” is used to estimate costs, benefits, and risks in complex situations, thus supporting decision-making. As part of the project, the software was updated and various improvements were implemented.
Project Context
The Horticultural Sciences Department at the University of Bonn is working on scientific methods for decision support. As part of the NIFAM (Nutrition Intervention Forecasting and Monitoring) project, complex probabilistic models are being developed to help decision-makers weigh the effects (i.e., costs, benefits, and risks) of various interventions.
These models are typically programmed by experts using the R package decisionSupport and presented in standalone Shiny web applications. Unfortunately, users with limited programming experience often struggle to get started with designing models. For this reason, the no-code tool “Decision Support UI” was developed such that basic models can be designed and evaluated without any prior programming experience. At the same time, the model can be automatically converted into executable R code, allowing users to get familiar with programming over time.
As part of the project, all software dependencies were updated. The user interface was updated from Vue version 2 to 3, and the model editor was upgraded from BaklavaJS version 1 to 2. This enabled the implementation of new features, such as grouping submodels as reusable subgraphs, which are translated into independent R functions. Furthermore, the model editor was extended to show validation errors in case a user would incorrectly connect nodes. Besides, the display of the result diagrams was improved, new processing options were added, and a desktop version for Microsoft Windows was created.
Used Technologies
The application is based on a Python backend and Vue frontend. The frontend is designed with Vuetify. The graph editor is based on the open-source library BaklavaJS. The Python backend uses FastAPI to provide a REST API and communicate with the frontend. The data is stored in an SQLite database. Upon user request, a model is converted into R code and evaluated in a separate R process. The resulting graphics were designed with Chart.JS. The frontend and backend are packaged together into a desktop application using Electron.
Scope of Services
During the project, the following services were provided:
- Update of all software dependencies
- Creating a desktop application for Microsoft Windows for offline use
- Various improvements to the user interface (e.g., in the presentation of results)
- Various bug fixes (e.g. incorrect logout during inactivity)
- Extending the conversion of a model to R code to include subgraphs
- Drafting of detailed user documentation
- Advice on deploying the application with Docker
We look Forward to Hearing from You
Send a Message
Call by Phone
+49-391-40594560
(Mon ‒ Fri, 9am ‒ 5pm)