Log de desarrollo de applicación Invisible Friend para Android
Funcionalidades de Invisible Friend
Se trata de implementar una aplicación que nos permita desde un terminal Android realizar el sorteo correspondiente a un evento.
Diagrama de casos de uso 12 de Enero 2012 (Deprecated ->
29 de marzo de 2012
)
Aquí tenéis el primero de los diagramas de CU que publico. En él ya se apreciar las funcionalidades mas que comentadas sobre eventos, grupos y contactos. Ademas también se empiezan a ver algunas otras funcionalidades que por el momento solo existen en mi cabeza. Para aquellos que seáis un tanto severos en cuanto a la disposición de los elementos en un diagrama de Casos de Uso, ruego me perdonéis, pero estoy usando la organización automática para no perder el tiempo moviendo ni casos de uso ni actores.
Funcionalidades ya implementadas
- Gestión de grupos de contactos (CRUD)
- Gestión de contactos contenidos en los grupos
- Relación entre contactos y grupos. Asignación y eliminación de un contacto a un grupo
- Integridad a la hora del borrado de un contacto de un grupo
- Relación entre Eventos y Grupos
- Integridad entre Grupo y Evento
- Integridad entre Evento y Sorteo
- Los evento no pueden ser borrados si existen sorteos realizados (26 de Septiembre de 2012)
- Cuando se añade un grupo a un evento, hay que validar que el grupo no esta vacío. Cuando se abre la actividad de eventos, ahora no se ven los grupos que no tienen contactos (19 de marzo de 2012)
- Contactos de agenda:
- Selección de un único contacto para enlazar a grupo
- Cuando se muestra la lista de contactos de la agenda para poder agregarlos a un grupo, no deben aparecer los contactos ya existentes en el grupo
- Integridad en el borrado de grupos.
- Envío de mails genérico
- En la ventana inicial de la aplicación el icono de eventos estará deshabilitado si no existen grupos en el sistema (14 de Septiembre de 2012)
- En la ventana inicial de la aplicación el icono de sorteo esta deshabilitado si no existen eventos en el sistema (14 de Septiembre de 2012)
- La clase Participante se acaba de modelar como una subclase de Contacto (17 de Septiembre de 2012). Me acabo de dar cuenta del detalle, realmente ¿que es un participante?, pues un participante es un contacto que ha formado a ser parte de un sorteo, de hecho como se puede apreciar en el modelo de datos, coinciden la mayor parte de los atributos identificados.
- Notificaciones
- Mail (24 de Septiembre de 2012)
- SMS (26 de Septiembre de 2012)
- Refactorización del susbsistema comunicaciones (mails y sms)
- DAOs para las entidades sorteo, participantes de sorteo, notificaciones e histórico
- Generalización de los mensajes de notificación mediante el uso de sustituciones de texto, algo similar a los que muchos hacéis cuando trabajáis en Web. (diciembre de 2012)
- Pequeño problema con el tamaño de la notificación en SMS. Android cuando recibe un mensaje superior a 160 caracteres, peta, sin mas…La implementación de un sistema basado en una plantilla soluciona el problema por que el mensaje enviado nunca será superior a ese tamaño.
- Sistema de preferencias en fichero de preferencias externo:
- Plantilla de texto para notificaciones SMS y Mail
- Modo desarrollo activo o inactivo (DEVELOPER_MODE ON/OFF)
- Nombre del fichero de bbdd
- Emulación de comunicaciones: Esta preferencia sirve para si el usuario quiere probar la aplicación antes de usarla, no tener que mandar las notificaciones de prueba reales y así evitar molestar a la gente.
- Sorteos (en proceso)
- Lanzamiento de sorteos propiamente dichos (mezcla y notificaciones). (Completado)
- Gestión de sorteos realizados. (en proceso)
Funcionalidades a implementar
- Logs internos de acciones
- Ofuscación/encriptación de los datos de la cuenta de correo-e usada por la aplicación
- Autoidentificacion (ya explicare el concepto mas adelante)
- Framework de persistencia (por evaluar)
- Proceso de construcción automatizado (por evaluar)
- Actualizacion a Android 5
- …
Futuro inmediato
Log detallado de requerimientos/análisis/diseño/desarrollo (arriba a abajo de lo más moderno a lo más antiguo)
Miércoles 26 de noviembre de 2014
Comienzo evaluación estado del arte de ORB’s para Android.
Esto, si sale adelante va a suponer una refactorización completa del desarrollo. El asunto es que estoy cansado de picarme y mantener la capa de DAOS.
Lunes 24 de noviembre de 2014
Retomando el asunto, después de casi dos años se me hace complicado…
Martes 19 de febrero de 2013 14:30
Continuando tal y como lo dejamos, solo queda implementar la gestión de sorteos. En principio voy a implementar únicamente 2 pestañas, una de ellas para hacer la gestión de los participantes de un sorteo y otra de ellas para poder ver los logs del propio sorteo. Me faltaría una mas, para hacer el CRUD de sorteos, pero ya veremos a ver cuando la hacemos, por que ademas en la oficina tengo un huevo de curro y cuando llego a casa no tengo ganas de seguir dándole vueltas al tarro.
Bueno ya tengo el primer borrador de la actividad, a continuación podéis apreciar el funcionamiento.
Esta primera pestaña tiene como objetivo poder revisar la lista de participantes de un sorteo concreto. De hecho el sorteo es lo que se selecciona en el Spinner. Una vez seleccionado el sorteo se carga la lista, que nos va a permitir re notificar a algún participante en concreto, y ademas ver el estado de las notificaciones enviadas a los mismos.
Esta otra pestaña nos va a permitir ver los logs del sorteo.
La idea es, el usuario selecciona una pestaña, lo que centrará las operaciones que el usuario puede o no hacer en la aplicación. Una vez establecida la pestaña, el usuario mediante un combo o spinner (terminología Android) selecciona el sorteo del que quiere recuperar la información (asociada a la pestaña).
You must be logged in to post a comment.
Comments (1)
Marvell
Ene 12, 2012 at 4:36 PM ReplyHola a todos
Me están llegando diversos mensajes sobre el desarrollo de IF. Me alegra que os guste el como estoy enfocando el asunto.
Por otro lado me gustaría recordaros que vosotros mismos podéis postear en esta página. Para ello lo único que se necesita es estar registrado en el site.
El site no lo quiero dejar abierto libremente a comentarios por que no puedo perder 1 h al día limpiando de span las páginas, supongo que lo entendéis.
El sistema tal y como está montado en la actualidad me pide validación del primero de vuestros comentarios, para después daros luz verde a los mismos. Yo no hago filtros en esta página, publico siempre lo que me llega de una u otra forma.