Aplicación online para rendición de cuentas basada en Java y Vaadin

Contexto

La Xarxa d’Economía Solidaria (Red de Economía Solidaria) impulsa la transparencia social a través de varias plataformas. La más básica es Pam A Pam, mediante la cual se miden 15 indicadores básicos (igualdad, intercooperación, proximidad, etc). Bajo el lema ‘Ensenya el cor‘ se presenta Balanç Social, una herramienta más completa que pretende ser la base para rendición de cuentas de entidades pertenecientes a diferentes colectivos.

Reto

La antigua plataforma de Balanç Social se había quedado pequeña para el proyecto de transparencia que la XES quiere continuar impulsando. Tras ganar el concurso abierto, Jamgo se ha encargado del desarrollo de una plataforma ágil que cubre las tres patas básicas de una herramienta web: aplicación web, backoffice y API de servicios web.

A nivel funcional la necesidad se resume en poder dar de alta diferentes módulos mediante los cuales poder calcular el valor de determinados indicadores de interés. Estos indicadores hacen referencia a determinados ámbitos como medio ambiente, igualdad, entorno laboral, etc. Para este cálculo es necesario responder a diferentes cuestionarios organizados por dichos ámbitos. Al final el resultado es un documento descargable y un sello en caso de haber ido un paso más allá con una serie de propuestas de mejora.

Solución

El backoffice, la herramienta habilitada para la administración de la plataforma, ofrece las siguientes funcionalidades principales:

– Revisar los cuestionarios respondidos por las entidades.
– Aceptar solicitudes de alta.
– Validar las mejoras propuestas en la solicitud del sello.
– Filtrar y exportar los balances usando diferentes atributos complementarios entre sí: ejercicio, módulo, estado, localización, sector, forma jurídica, etc.

Mediante el backoffice, el administrador puede añadir/editar/eliminar nuevos módulos, indicadores y preguntas y relacionarlos entre sí. Todos los conceptos que se usan dentro de la plataforma (sector, formas jurídicas, población/comarca/provincia) son editables y cada texto es multiidioma. También son accesibles todos los datos de las entidades.

La aplicación, accesible por los usuarios de las entidades dadas de alta, da acceso a responder los cuestionarios que corresponden a cada módulo. Todos los módulos disponibles se muestran en el “Dashboard” del usuario con un pequeño detalle del estado en que se encuentra, según el usuario lo haya dejado en cada momento.

Cada pregunta de los cuestionarios es validada en tiempo real según el condicionante (si existiese) respecto a otras preguntas o el tipo de valor que deba tener. Un factor importante en cualquier plataforma de formularios es el hecho de no hacer contestar al usuario la misma pregunta más de una vez. Por este motivo se ha diseñado de tal manera que si diferentes módulos requieren la misma pregunta para el cálculo de un indicador, este valor estará disponible para todos los módulos con solo haberlo respondido una vez.

Se ha llevado a cabo la migración de todos los documentos de los ejercicios anteriores, por lo que son descargables desde la sección de documentos.

Por último, la web de Mercat Social muestra un catálogo de todas las entidades que han completado el módulo de Balanç Social del último ejercicio. Esto es posible a través de la API publicada mediante servicios web. Desde este catálogo se puede descargar el documento resultante del último Balanç Social completado por las entidades, siempre y cuando estas hayan dado permiso para hacerlo público.

Tecnologías

Spring Boot 1.2.1
Frontend: Vaadin 7.4.1
Autenticación: Spring Security
Persistencia: Spring Data JPA + EclipseLink, MySql
Tests unitarios: Spring Test, JUnit, H2 Database
Maven 3, Git
Servicios Web: Spring Web, Jackson

cliente: Xarxa d'Economia Solidària de Catalunya

año: 2016

servicios relacionados:

Software a Medida

Desarrollo Web y APP

firma:

Aritz Samaniego (Socio & Arquitecto Java EE)