LaraTrell: Mi aplicación para mejorar la visibilidad de los tableros enTrello.
Ayer, por fin, terminé la primera versión de LaraTrell. De forma resumida, diré que LaraTrell es una aplicación que te ayudará a tener una mayor y mejor visibilidad de tus tableros en Trello.
Disclaimer: Antes de disparar un ‘pardillo, eso ya está hecho’ lee el artículo que está todo explicado.
El nombre de LaraTrell viene precisamente del nombre de los dos proyectos fuente de esta aplicación: Laravel y Trello.
Antecedentes, motivos y hechos.
Yo soy uno de esos miles, millones o trillones de usuarios que tiene Trello. En mi día a día lo utilizo para organizar el flujo de tareas de los proyectos en los que trabajo. Ahora mismo, así a ojo puedo tener cerca de diez proyectos activos. En general, para cada proyecto, las listas de tareas que tengo son las que más se acercan a un modelo de desarrollo ágil de software utilizando el método Kanban, con las siguientes listas clásicas: Backlog, Sprint, Doing, Done.
En algunos proyectos, hay alguna lista más, pero bueno, básicamente son estas. Y cada semana, de cada proyecto, puedo tener una o varias tareas en ‘Doing’ con un WIP (working in progress) bastante alto, por desgracia.
El problema, por llamarlo de alguna forma, era el siguiente: Cada día, para tener presente que tareas estaba realizando para cada proyecto, tenía que pasar por todos los tableros que tenía en Trello y ver el estado en el que estaba la lista ‘Doing’ de cada tablero. Esta tarea, al tener varios clientes y varios proyectos por cliente llega a ser un poco tediosa y además no me daba una visibilidad global de que estaba haciendo.
Mi necesidad real era un sistema en el que pudiera visualizar en la pantalla todo aquello que tenía pendiente de hacer para cualquier proyecto de cualquier cliente. He ‘googleado’ más de una vez a ver si encontraba algo que me solucionara esta necesidad pero siempre con resultado negativo. Y eso que creo que es algo simple y posiblemente sea una necesidad más común de lo que pudiera parecer. Supongo, que algo así, ya estará inventado o a lo mejor el propio Trello en su versión de pago lo implemente, pero el caso es que yo no lo tenía.
Otros motivos importantes que me animaron a realizar esta aplicación fue la práctica con el framework Laravel 5.3. Normalmente desarrollo, y mucho, con este framework. Las versiones con las que más he trabajado son la 5.1 y la 5.2, así que tenía ganas de ver las mejoras en la que hasta entonces era la última versión, la 5.3. Hace un par de semanas ha salido la última versión estable, la 5.4, así que actualizaré el proyecto a dicha versión y será mi ‘conejillo de Indias’ para probar las nuevas características del framework.
Por otro lado, tenía mi GitHub personal bastante ‘pelado’ así que también esto convertía el desarrollo de LaraTrell en una motivación extra para mostrar mi código. Como dijo Linus Torvalds “Talk is cheap. Show me the code”.
Estas dos últimas razones técnicas son las que verdaderamente me han animado a implementar LaraTrell. De hecho, aunque hubiera habido algo similar (que probablemente lo haya), también lo hubiera programado.
Implementación
Para LaraTrell he utilizado el framework de PHP Laravel 5.3. Además, hago uso de la API de Trello. El código del proyecto está en mi cuenta de GitHub, para que lo mejores, lo copies, lo veas, lo mejores, lo critiques y me enseñes cosas que pudiera aplicar al mismo.
Además, he aprendido el uso siempre interesante de autorizaciones con aplicaciones de terceros, en este caso he utilizado lógicamente la autorización de Trello:
Ayer mismo terminé de subir la primera versión 1.0 al servidor. La máquina es una VPS alojada en OVH. Lleva una Debian 8 Jessie y le instalé la última versión 7.1 de PHP.
Próximas mejoras
Ya tengo pensadas una serie de características básicas que añadir al proyecto para hacerlo más útil y usable.
- Testing. Inapelable.
- Hacer configurable el nombre ‘Doing’ (o el que sea) de las listas a mostrar. Lógicamente, cada empresa o persona llamará a su lista como prefiera. Esto considero que debiera ser configurable.
- Mostrar más listas en columnas. En mi caso lo ideal sería tener al menos dos columnas que mostraran las listas ‘Sprint’ y ‘Doing’ para tener presente que tengo que hacer y que estoy haciendo.
- Acelerar la carga y llamadas al API. Por alguna razón que aún no entiendo esta versión es muy lenta cuando hace uso del API de Trello.
Y sobre todo, he conseguido cumplir con la siguiente afirmación y sentirme tal y como dice la misma :)
Si al sacar tu producto al mercado no estás absolutamente avergonzado,
es que lo has sacado demasiado tarde.
Bueno, eso es todo, cualquier comentario sobre LaraTrell será bienvenido y tomado en cuenta. Te lo prometo.