He de reconocer que soy un gran fan de Trello, un tablero de Kanban personalizable que me permite organizar mi agenda, mis objetivos personales, los viajes, las charlas, mis proyectos y los regalos de navidad, entre otros.
Sin embargo, para uso profesional he descubierto que muchas empresas que no permiten guardar información relacionada con proyectos en servicios en la nube, y para ello he creado un pequeño clon de Trello llamado Kanwal, para poderlo utilizar de manera segura dentro el firewall.
Para poder empezar a utilizarla necesitaba, como mínimo, las siguientes características:
- Aregar listas
- Agregar elementos a las listas
- Borrar elementos de las listas
Características como mover un elemento de lista o editar elementos pueden ser muy chulas, aunque entrarán en la siguiente versión.
Con esa máxima tocaba escoger armas, y en mi caso fueron dos que ya había utilizado anteriormente:
- Knockout.JS: Un framework MVVM muy sencillo y ligero que me permite realizar data-bindings de manera rápida y fácil
- Bootstrap: Un framework CSS que me permite dar una estructura y un aspecto básicos a la web.
- Yeoman: Una herramienta que nos permite crear proyectos con diferentes frameworks de manera rápida y sencilla.
Con las armas escogidas, tocaba ponerse manos a la obra, y un par de horas después la aplicación (si es que podemos llamarla aplicación) tenía este aspecto: Espartano, básico, pero es todo lo que necesito para empezar a trabajar:
La arquitectura es muy simple:
Una tarea:
- Es una cadena de texto simple
Una lista:
- Es un Viewmodel que contiene un título y una lista de tareas.
- Contiene un método para agregar tareas, para borrarlas y para renombrar la lista, pasando a un sencillo «modo edición».
- Contiene una referencia al método guardar del viewmodel global.
El viemodel global:
- Es una lista de listas.
- Contiene Métodos para guardar y cargar los datos de local storage.
Como curiosidad, el nombre original era Kan-Wall (de Kanban firewall), aunque gracias a la corrección de Google descubrí que el nombre (con una L) correspondía a una región de Australia, así que así se ha quedado.
Le puedes echar un vistazo a la aplicación en rlbisbe.github.io/kanwal y ver el código fuente en github.
Si estás interesado en ayudar, envíame una pull request!
Have fun!
Que tal Roberto, soy Christian de Frontiers :-),
Fíjate que casualidad, yo estoy trabajando en algo parecido y muy inspirado en Trello por su simplicidad, pero orientado específicamente a videojuegos, digamos para que el desarrollador no tenga que preocuparse de «modelar» su workflow en la aplicación y que ya venga listo para usar: https://twitter.com/hacknplan