Backoffice en Java y aplicación web basada en Wordpress conectadas via API REST

Contexto

Pam a pam es el mapa colaborativo de la Economía Social y Solidaria de Cataluña. Una herramienta colectiva que contribuye a la transformación social mediante la visibilización de iniciativas que operan bajo los criterios de la Economía Solidaria. La plataforma web de Pam a pam es uno de los espacios esenciales del proyecto, puesto que en ella se visibilizan estas iniciativas para que puedan ser encontradas fácilmente por la ciudadanía. Además, la web es el espacio de trabajo para el equipo del proyecto, así como para las activistas del mismo, las chinchetas naranjas.

Reto

El principal reto del proyecto era mejorar la plataforma web de Pam a pam a nivel de diseño, usabilidad y funcionalidad de cara a los usuarios externos, pero especialmente de cara a los usuarios internos de la web. Las chinchetas, las activistas de la web, junto al equipo técnico, son las principales usuarias de la plataforma. La utilizan, principalmente, para volcar la información que recogen acerca de las iniciativas que pueblan el mapa. Por ello, era importante que el proceso de volcado de información fuera más intuitivo y usable. Por su parte, el equipo técnico quería una plataforma más modular en la que fuera más fácil la revisión de la información volcada por las chinchetas y la comunicación con ellas, así como los flujos de trabajo internos. Además, la parte front-end de la plataforma requería mejoras de usabilidad de cara a los usuarios que visitan la web y la posibilidad de modificar los contenidos en una web que era muy estática. Por último, el buscador del mapa, otro de los elementos clave para los usuarios de la web, requería mejoras de usabilidad y en los resultados de las búsquedas. El proyecto Pam a pam pidió una web bien documentada y que se pudiera replicar con facilidad para poder subirla a GitHub.

Solución

Desde Jamgo se propone construir una nueva plataforma integrada por un backoffice en Java y una aplicación web basada en WordPress conectadas por una API REST. El equipo valoró que el nuevo gestor de contenidos junto con el backoffice permitiría al proyecto, de manera autónoma y con un mínimo esfuerzo, actualizar y manejar la información de manera más fácil.
El backoffice, la herramienta habilitada para la administración de la plataforma, ofrece las siguientes funcionalidades principales:

  • Gestión de personas (diversos tipos de usuarios, edición de los diferentes perfiles, etc.)
  • Gestión de las iniciativas (flujo de estados, modificación de la información, etc)
  • Registro de las iniciativas por parte de las voluntarias (notas internas, alertas que hacen la página más usable, etc)

La aplicación web está basada en WordPress y permite publicar toda la información del proyecto. El grueso de la información del proyecto (datos de las iniciativas y de los voluntarios) se introduce a través del backoffice. La API Rest se encarga de conectar ambos elementos.

Tecnologías

Spring Boot 1.5.2

Frontend: Vaadin 8.0

Web: WordPress

Autenticación: Spring Security + OAuth2

Persistencia: Spring Data JPA + EclipseLink, MySql

Tests unitarios: Spring Test, JUnit, H2 Database

Maven 3, Git

Servicios Web: Spring Web, Jackson