Buenos días, devs!
El pasado martes 11 de marzo nos reunimos
para la primera sesión del grupo de trabajo de Social. El objetivo de la
reunión era establecer las pautas, tecnologías y arquitectura que
seguiríamos para implementar el proyecto de publicación de eventos de
BCN Jug en las distintas plataformas sociales.
Entre todos pensamos cuál debía ser el flujo de la aplicación y llegamos a lo siguiente:
Acceder a la página
de publicación, elegir a qué plataformas propagamos el evento y lanzar la petición al servidor.
Con los datos proporcionados desde el cliente, se van activando los
distintos módulos de publicación que tengamos en el backend.

Desde
el punto de vista de arquitectura, tendremos un cliente sencillo,
implementado como aplicación web en
AngularJS (lo cual nos permite utilizar componentes de edición texto enriquecido). Este cliente accederá a
los servicios de un Backend Java alojado en
OpenShift. El backend
expondrá sus servicios a través de una interfaz REST. La tecnología
elegida para implementar el backend es Spring, con
Spring MVC para
REST
(aunque todavía queda por debatir si usaremos Spring MVC o alguna otra
tecnología de REST para Java) y
Spring Social para las interacciones de
nuestro cliente con las distintas redes sociales en las que vamos a
publicar: Facebook, Google+, Twitter y Meetup a priori.
Desde el
punto de vista de infraestructura, usaremos un alojamiento en OpenShift,
a medio plazo integrado con algún sistema de integración continua todavía por pensar.

El sistema de construcción elegido es
Gradle.
Organizaremos las tareas siguiendo un modelo Kanban, con la herramienta
Trello. Compartiremos documentos con las herramientas de Google Drive.
La documentación pensamos hacerla con
ASCII Doctor (Gradle tiene, además, tareas que se integran con este sistema, por lo que puede automatizarse).
Para coordinarnos, además de Trello (del cual ya tenemos cuenta abierta), usaremos
la cuenta de Google Groups
para comunicarnos, además de reuniones periodicas en las que
pongamos a punto los temas que tengamos que tratar o para coordinarnos
en persona (además de para tomar alguna cosa juntos, claro ;) )
Saldremos
con un MVP que permitirá publicar los eventos y nada más. Persistencia,
autenticación y funciones más avanzadas se dejarán para iteraciones
posteriores.
Iremos creando tareas relativamente independientes
para que los que quieren participar puedan coger unidades pequeñas de
trabajo. De hecho, ya hay unas cuantas tareas creadas en Trello que cualquiera persona que quiera participar puede coger. Sólo tiene que crearse cuenta de Trello y pedirnos invitación.
Sin más, sólo comentar que sois bienvenidos en cualquier momento. Para más información acceder a Google Groups o apuntaos a los meetups que vayan saliendo.
También podéis
contactarme.
Saludos!