El proyecto se desarrollará durante el transcurso del semestre en equipos de 3 o 4 integrantes.
El proyecto debe cumplir con las bases del Oracle ThinkQuest Comptetion 2011 en el evento de Application Development de la división de 22 años o menos. Todo el material que se entregue en esta competencia debe estar en inglés.
El proyecto debe desarrollarse usando el lenguaje de programación Python y el framework para Web Django. Se permite utilizar otras tecnologías del lado del cliente (JavaScript, Flex, etc.) siempre y cuando tengan una licencia de software libre.
El proyecto se debe llevar a cabo usando desarrollo ágil, aplicando lo más posible las prácticas descritas en el libro de [SUBRAMANIAM]. Es importante que se vaya recolectando evidencia de la manera en que se está trabajando mediante fotos y video.
Se debe utilizar Google Code como sistema de control de versiones de todo el código fuente que se vaya generando. Se debe realizar al menos un commit por cada sesión de trabajo que tenga el equipo.
El equipo debe crear un blog en Blogger.com para ir documentando el desarrollo del proyecto. Por cada sesión de trabajo que tenga el equipo se debe escribir una nueva entrada en el blog. Dicha entrada debe estar en inglés y debe incluir en forma de prosa: las personas que estuvieron trabajando, los logros de la sesión, la cantidad de tiempo invertido, los problemas a los que se afrontaron y como los resolvieron, y cualquier otro aspecto que deseen compartir. Pueden incluir en sus entradas las fotos que vayan tomando. Las entradas deben ser informativas y entretenidas, y la extensión individual de cada una no debe ser menor a las 150 palabras. Debe haber consistencia con lo que se reporta en el blog y lo que se sube a Google Code.
Cada equipo debe contar con un cliente el cual debe ser un experto en el área de dominio del problema a resolver. Dicho cliente puede ser un miembro del mismo equipo o una persona externa.
El código debe incluir pruebas de unidad. Se debe procurar que las pruebas tengan una cobertura completa sobre la mayor parte del código.
La interfaz de usuario de la aplicación debe pasar por pruebas de usabilidad, tal como lo recomienda [KRUG].
Todos los páginas de HTML de la aplicación Web (tanto estáticas como dinámicas) deben cumplir con los estándares web. Específicamente, se deben poder validar sin producir errores en: Markup Validation Service y CSS Validation Service.
Al final del semestre, cada equipo deberá producir un video-documental en inglés con el propósito de presentar las generalidades de su proyecto (alcance, diseño, implementación, forma de uso, etc.) y también mostrar evidencias de la metodología usada durante su desarrollo.
Las fechas para elaborar ciertas actividades y entregar avances del proyecto serán publicadas en la página del curso de manera oportuna.