Proyecto Liqueed (1)

Published on Author lopez

Siguiente Post

Hoy quería presentar en un post corto, al proyecto Liqueed, pueden ver el repo en:

https://github.com/liquid-co-ops/liqueed

desarrollado como aplicación web sobre una idea del bueno de @acyment, leer su post (en inglés):

http://blog.agilar.org/index.php/2014/04/30/leancoops-first-draft/

La idea básica de la aplicación es ayudar a los equipos que estén desarrollando algo a la manera que sugiere Cyment en el tema del reparto de acciones sobre el proyecto. Desde hace unos meses, la aplicación (el código, el backlog, las ideas, la implementación, el hosting y demás) se viene armando en un equipo que también quiere ser “líquido” (con entrada y salida de gente, pero aún estamos cortos con el tema de las votaciones propias, en casa de herrero 🙂

En esta serie de posts que hoy inicio, quisiera comentar temas técnicos interesantes que plantea el proyecto. Por hoy, comento que:

– Es una aplicación Node.js, expuesta a la web usando Express. Con lo que el lenguaje de programación es JavaScript.

– Además de algunas páginas internas de administración con MVC, tiene una API expuesta, que intercambia JSON.

‘- Hay una aplicación Single Page que es la que tendría que usar el usuario final, para ver los proyectos, las votaciones, los repartos de acciones y para ingresar las nuevas votaciones

– La mayor parte del código fue escrito usando el flujo de trabajo de TDD (Test-Driven Development). Incluso, el primer código implementó el modelo en memoria, permitiendo avanzar más fácil sobre la implementación de casos de uso, sin tener que detenerse tanto en la persistencia (hasta el cliente SPA puede ejecutarse sin necesidad de tener un servidor andando)

– Hace ya unos meses, agregamos persistencia con MongoDB. Podríamos usar otra base, relacional quizás. No estamos aprovechando las facilidades de manejar documentos de MongoDB todavía. Solamente la elegimos por su ubicuidad en las plataformas de desarrollo y en los distintos servicios de hosting de Node.

– En algún momento agregamos Istambul para el cubrimiento de código.

– Cuando los tests de TDD por código puro comenzaron a ser largos, se agregó un DSL (Domain Specific Language) simple que permite escribir archivos de texto con los pasos a seguir en el test funcional

– Comenzamos a agregar tests de la SPA (Single Page Application) usando Zombie

Y habría mucho más para comentar, espero que con más detalle en los próximos posts.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez