On-line tool based in Java and Vaadin

Context

The Xarxa d’Economia Solidària (XES, Solidarity Economy Network in english) promotes social transparency through several platforms. Pam a Pam is the most basic one, by which 15 basic indicators are measured (equality, intercooperation, proximity, etc). Balanç Social (Social Balance) is presented under ‘Ensenya el cor‘ (‘Show Your Heart’) slogan, a wider tool that pretends to be the basis for the accountability of entities pertaining to different collectives.

Challenge

The previous tool for Balanç Social had become small for the transparency project the XES wanted to go on promoting. After winning the open call for such development, Jamgo has carried out the building of an agile platform that covers the three parts that compose a web tool: the web application, the backoffice and the web services API.

The functionality stands basically on being able to release different modules to calculate the value of certain indicators of interest. Those indicators are related to areas such as environment, equality, work environment, etc. For their calculation it is necessary to answer several questionnaires grouped by those areas. The final result consists of a downloadable document and a seal in case you have gone further proposing some improvements for the next exercise.

Solution

The backoffice, the tool for administrating the platform, offers the following main functionalities:

– Check the questionnaires answered by entities.
– Acceptance of sign up requests.
– Validation of improvement proposals for the seal request.
– Filtering and export of assessments using different complementary attributes: exercise, module, state, localization, sector, legal form, etc.

In addition it lets the administrator add/edit/delete new modules, indicators and questions and relate them to each other. Each concept used through the platform (sectors, legal forms, town/region/province, etc.) can be managed and every text is multilanguage. Besides, the data of the organizations is accesible as well as editable if needed.

The web application, where the users of each organization can log in, gives the access to answer the corresponding questionnaires of each module. All modules are shown on the user’s ‘Dashboard’ as well as the detail of its state depending on the users last actions.

Each answer is validated in real time based on the conditions (if exist) related to other questions or the type of value it must have. An important feature in every platform based on questionnaires is the fact of not making the user answer the same question several times if it is present in various modules. For this reason it has been designed so that if different modules require the same answer to calculate an indicator, the answer’s value will be available for all those modules by just answering once.

The migration of the documents from prevoius exercises has been performed so they are downloadable from the section of documents.

Finally, on the Mercat Social (Social Market) website there is a catalog showing the organizations that have completed the module Balanç Social during the last exercise. This is made possible by the API published using web services. From this catalog it is available for download the document from the last Balanç Social completed by the organization if such organization has allowed to make it public.

Technologies

Spring Boot 1.2.1
Frontend: Vaadin 7.4.1
Autentication: Spring Security
Persistence: Spring Data JPA + EclipseLink, MySql
Unit tests: Spring Test, JUnit, H2 Database
Maven 3, Git
Web services: Spring Web, Jackson

client: Xarxa d'Economia Solidària de Catalunya

year: 2016

related services:

Custom Software

Web and APP development

signature:

Aritz Samaniego (Partner & Java EE Architect)