CSQ: The Developer Oddyssey.
La programación concluyó con la interfaz de retos/ preguntas para el jugador, validar su respuesta y sumarle/ restarle atributos a su perfil.

Blog con entradas de avances de la materia de Proyecto de Desarrollo de Software impartida por el profesor Ariel Ortiz
El día de hoy se trabajó en terminar el sistema. Luego de estar trabajando en pulir las fallas y "bugs" que había en el juego, hoy ha sido un día dedicado en dejar listo y totalmente funcional el sistema como se tenía planeado, pero ahhh, de nuevo los cambios.
Al tratar de finalizar el sistema de retos me percaté de que había que modificar el modelo de usuario pues es necesario según lo planeado que cada que el usuario intente un reto y lo conteste de manera errónea, el sistema debe descontar puntos de energía al usuario, tal como es un reto de programación de la vida real. La modificación del modelo incluyó otras modificaciones en las vistas pues hubo que modificar algunos campos.
Por otro lado hoy se dejó lista la organización para el video y la presentación final ya que por experiencia sabemos el tiempo que toma todo esto.
Ahora si estamos a un paso de finalizar al 100% el proyecto y por mi parte puedo decir que me ha dejado una gran enseñanza ( y creo que un dominio en Django) y 500 puntos de experiencia.
Cosas por terminar
Cosas por mejorar
Y los avances
En esta última semana hemos decidido dividir el trabajo que queda de tal forma que si todo sale bien y trabajamos en paralelo podremos finalizar exitosamente el proyecto.
Se han hecho algunos cambios tanto en diseño lógico como diseño visual con el fin de hacer más llamativo el sistema. Se han agregado imágenes especialmente diseñadas para el juego, se ha modificado la interfaz, se está trabajando en el sistema de tiempo para el servidor y en llenar la base de datos de actividades/retos y quedan por pulir detalles de consistencia.
El proyecto está cerca de ser completado y nos esforzaremos para solucionar los problemas que se presenten.
Hasta ahora así se ve la interfaz. No se notan muchos cambios visuales pero en verdad ha sido modificada muy a fondo.
Nuevamente presentamos un avance del recién nombrado juego The developer Oddyssey. Ahora Durante esta semana se ha trabajado arduamente en implementar un sistema de control de tiempo, de modo que cada determinado tiempo el usuario/jugador que inicie sesión reciba una recompensa de puntos de experiencia o dinero virtual para comprar ítems. Esto has sido un reto debido a que hubo que investigar la manera correcta del funcionamiento del registro de la fecha de último inicio de sesión del usuario (que se modifica dinámicamente) y el tiempo actual del sistema.
Además de lo anterior se ha rediseñado la interfaz del juego de modo que parezca mas un juego y sea sencillo de utilizar, por ejemplo, registrar a un usuario nuevo en solo 1 paso que consta de escribir nombre de usuario y password. El rediseño ha quedado casi totalmente completado y solo faltan pulir algunos detalles con el manejo de la información y la manera de mostrarla, pero estamos trabajando y seguiremos trabajando en eso.
Por último se ha trabajado en poblar la base de datos con retos e ítems. Esperamos seguir avanzando de buena manera y sin tantos contratiempos.
Después de la semana de exámenes hemos vuelto a la vida el proyecto. Hasta ahora el principal problema había sido la administración de los usuarios del sistema pues hicimos varios cambios a la base de datos para aprovechar los beneficios del sistema como explicamos en la entrada pasada, sin embargo esto nos trajo más problemas de los que esperábamos.
Para resolver este problema prácticamente hubo que hacer un proyecto de prueba con una base de datos únicamente formada por la tabla Usuario, registrar unos usuarios mediante el superuser del sistema y luego revisando la base de datos. El problema es que el sistema de autenticación revisa el modelo del usuario del sistema autenticador de Django, no el nuestro. Por lo tanto si creábamos usuarios en nuestra tabla Usuario no eran reconocidos como usuarios válidos (únicamente los creados en el usuario del sistema Auth).
Después de leer y probar pudimos corregir esto mediante la creación de perfiles de usuario. Con esto se crea un usuario en sistema de Django y este usuario se usa como relación de perfil en nuestra base de datos. Efectivamente nos tomó mucho tiempo pero ya quedó listo.
Por otro lado se han corregido los problemas que teníamos al tratar de acceder a direcciones no válidas dentro de nuestro sistema. Pueden ocurrir errores 404 pero hemos tratado de que sean los menos posibles y si llegan a ocurrir los mandamos a una página “amigable”.