The solution

SafeZone.ch has been part of the services offered by the Federal Office of Public Health (FOPH) since 2016, and supplements existing local addiction counselling services. The online portal provides anonymous access to addiction help, from anywhere and at any time. There are also links to specialist departments, self-help tools and further information. The counselling portal was replaced as the core of the counselling services in 2021. Addiction experts can use the application to provide online counselling to those in need of help, quickly and at any time ā€“ which is how emergency aid works!

In just one year, we have developed an application that helps. This would have been impossible without agility. And we are also happy to share the development components.

The frameworks

The primary bases used were the Python framework Django for the application and Vue.js for the online front end. The application elements are connected to each other using a REST interface. Both frameworks are open-source and well established. They served as a basic structure for the individual implementation of the software.

Django

Django provides a lean toolbox for developing web applications that is particularly suitable for individual app development, as it provides the necessary basic tools without (strictly) defining the application architecture.

These tools make it easier for developers to create basic functionalities via robust ORM, a graphic interface for system administrators, and a smart user and role system. A standard expansion can also be used to easily attach a decoupled front end to the whole system as a REST API.

Vue.js

Vue.js is a popular framework for creating creative, lean, high-performance browser-based interfaces. Vue.js comes with several add-on modules that expand the framework, for example with an API connection. Its wide distribution means that the Vue.js ecosystem also offers a broad range of standard components such as a date picker, input validation, modal dialogues, accordions and much more. Vue.js also has various prefabricated UI libraries that enabled the counselling front end, in particular, to be implemented quickly.

The front end was developed using a modular approach: the functionalities are grouped into components and prioritised, meaning that it can be flexibly used and exchanged in various ways.

Modular structure

The module for people seeking help is designed to be incorporated into the various Swiss addiction counselling centresā€™ websites without any further effort. This means that the application can be used regardless of the addiction counselling provider, thus unifying the counselling appā€™s use. It is easy to use synergies in the application of the tool, which, among other things, makes it possible to bundle and save costs from the initial outlay. The tool enables interaction beyond cantonal borders and between addiction counselling centres ā€“ always with the necessary data protection. This means that the platform offers genuine added value, not just for all Swiss citizens but also for counselling centres.