miércoles, 20 de mayo de 2009

Mufly: Contabilidad doméstica programada en GWT

   Hace unos meses comentaba que había descubierto Google Web Toolkit y que estaba desarrollando una aplicación con GWT. Hoy os presento Mufly. Es una aplicación que estoy desarrollando para llevar los gastos de casa y que ya está sustituyendo desde enero de 2009 a otra que venía usando desde el 2004.
   La principal novedad y en lo que he centrado el desarrollo es en el uso de etiquetas (o tags). Así, en lugar de tener una transacción y asociarla a la categoría Ropa, por ejemplo, la puedo etiquetar con varias etiquetas como Ropa e Iván. También he implementado la funcionalidad de dividir transacciones (split). El concepto es muy simple y la mejor manera de explicarlo es por medio de un ejemplo. Por ejemplo: Vas a unos grandes almacenes y compras comida, ropa y un regalo. Cuando introduces estos datos en Mufly sólo debes añadir una transacción: Compra en grandes almacenes, el precio 120€ y las etiquetas (por ejemplo las 3 siguientes: regalo, comida, ropa). Entonces, hacemos el split de la transacción para detallar la compra. Alguna comida 60€, Ropa (pantalones y camisas) 40€ y Libro de GWT 20€. Es decir, sirve para desglosar un único gasto.

   El proyecto Mufly está alojado en Google Code y está liberado con licencia GPLv3. El idioma principal tanto de la web como de la aplicación es el inglés porque quiero que llegue a más gente. No obstante, en el wiki tengo traducido al español la página principal. También he creado hace unas semanas un blog en el que iré contando las novedades. Los post están escritos primero en inglés y luego en español para que cualquiera pueda preguntar sus dudas, contar sugerencias,...

   Y respecto al desarrollo, liberé la versión 0.2 en diciembre y estoy trabajando en la siguiente versión. En ella me he centrado sobre todo en la internacionalización de la aplicación además de en distintas mejoras internas y organización del código. De esta manera, cuando la libere estará disponible también en español y en francés (gracias Alex por la traducción). Respecto a esto es muy sencillo implementar nuevos idiomas, simplemente hay que traducir un archivo de recursos y al realizar la conversión de Java a Javascript, GWT generará las páginas correspondientes a los idiomas que utilicemos.

   Os animo a que la probéis y me dejéis vuestro feedback tanto aquí como en el blog de proyecto. Sólo necesitáis un MySQL y Tomcat para desplegar la aplicación y seguir las instrucciones de instalación del Wiki del proyecto.