Secciones

Las interioridades del ManagerT1

Inicio » Artículos » Las interioridades del ManagerT1
La categoría del artículo es
Escrito el 3 June 2010, 17:17


En el anterior post os comentaba que acababa de publicar una nueva aplicación desarrollada íntegramente en Grails llamada ManagerT1. La aplicación une en un mismo sitio la afición por la Fórmula 1, Twitter y las apuestas, ya que permite enviar tus predicciones sobre el resultado del próximo Gran Premio de Fórmula mediante un mensaje de Twitter.

En esta entrada os voy a comentar como está hecha la aplicación, aunque por el momento no voy a dejar el código de la misma, no sea que alguien esté pensando en comprármela y vaya yo y se la regale.

La aplicación está desarrollada utilizando la última versión de Grails, la 1.3.1 y por un lado tenemos la parte pública, que es la que todos podéis ver y por otro un backend donde puedo controlar toda la información necesaria en la misma.

El desarrollo del backend ha sido íntegramente desarrollado utilizando el scaffolding estático que me permite Grails, no sin antes modificar las plantillas de Grails para que me generará unas plantillas tal y como yo quería.

La aplicación tiene 7 clases de dominio que son:

  1. User: que se encarga de almacenar la información de los usuarios registrados de la aplicación. Por el momento esta clase de dominio se encarga de gestionar el único usuario administrador de la aplicación, que soy yo.
  2. GrandPrix: que almacena la información de los grandes premios de esta temporada
  3. Pilot: con la información de todos los pilotos de todas las escuderías
  4. PilotName: que se encarga de relacionar posibles nombres de los pilotos en los tweets enviados con los pilotos oficiales. Por ejemplo, si alguien envia alonzo en su tweet, el sistema sabrá que alonzo se refiere al piloto Fernando Alonso.
  5. GrandPrixResult: una clase de dominio encargada de gestionar la información del podium de cada uno de los grandes premios
  6. ForecastGrandPrix: cada una de las predicciones enviadas por los usuarios de twitter será gestionar mediante esta clase de dominio
  7. GeneralClassification: que contendrá la puntuación de todos los usuarios que han participado en el ManagerT1

En cuanto a los controladores, cada una de las clases de dominio anteriormente comentadas tiene su propio controlador, a los cuales hay que añadir uno nuevo que encarga de gestionar la aplicación en la parte pública, al cual he llamado PublicController.

Para facilitar la labor del diseñador, que por el momento he sido yo mismo cogiendo una plantilla de Template World (aunque animo a que si alguien me quiere echar una mano con el diseño me escriba un mail a fgarciarico@gmail.com), he creado también una librería de etiquetas que se utilizan en la parte pública. En esta librería aparecen etiquetas para mostrar por pantalla la clasificación general, el último gran premio disputado o bien el próximo gran premio a disputar. Todo ello para facilitar la labor del diseñador que simplemente tendrá que invocar a una etiqueta tipo HTML sin preocuparse de lo que viene detrás.

En cuanto a los plugins instalados y necesarios para la aplicación están:

  1. hibernate: por defecto instalado por Grails
  2. jquery: lo he utilizado muy poco aunque espero hacer más cosas con él
  3. quartz: lo necesito para realizar tareas periódicas, como son la lectura de las tweets enviados a @managert1
  4. rest: necesario para leer el RSS con los tweets donde aparece una mención a @managert1
  5. social-bookmarks: para facilitar a los usuarios el uso de los favoritos en cualquiera de los servicios conocidos
  6. tomcat: para desarrollar la aplicación he trabajado con tomcat en local

Por último, comentar que los servicios de la aplicación simplemente se basan la lectura de los tweets que nombran a @managert1 para analizarlos y añadir la predicción en caso de que tengan el formato adecuado y también he utilizado un servicio para cada vez que se añada un resultado de un gran premio, se calcule la clasificación general.

Esto es el resumen de como está hecha la aplicación ManagerT1. La verdad es que la aplicación es muy sencilla y no se tardaría más de 15 horas desarrollarla desde cero teniendo claro desde el primer momento la estructura de la misma. Quizás lo más complicado de la misma ha estado en la lectura del RSS que me permite saber quien ha nombrado en la Twittersfera al usuario @managert1, pero solventado esto la aplicación no tiene grandes complicaciones.

¿Me echas una mano?


¿Alguna sugerencia para ManagerT1?

your_ip_is_blacklisted_by sbl.spamhaus.org.