Durante el semestre tendrán que realizar varias entregas, y cada una irá construyendo sobre la anterior. Por ello es importante mantenerse al día.
Los enunciados dan la línea general de la funcionalidad que deben implementar, pero serán deliberadamente ambiguos de manera que ustedes usen su creatividad para crear una aplicación realmente única. Salvo algunos casos, ustedes tendrán total libertad en cuanto a la interfaz y la implementación de su trabajo.
Cada equipo tiene asignado un proyecto y un ayudante que los guiará y evaluará durante el semestre. Las asignaciones de proyecto y ayudante estarán detalladas aquí prontamente.
Equipo | Proyecto | Ayudante |
---|
Pueden ver los datos para poder contactar a su ayudante en el programa del curso
Las entregas tendrán una duración aproximada de 2 semanas cada una, aunque es posible que en ocasiones el enunciado de una entrega sea publicado con mayor antelación.
-
Todo el código será entregado únicamente a través de un repositorio Git alojado en Github. Nosotros les proveeremos repositorios gratuitos y privados para cada equipo.
-
Los ayudantes revisarán el branch master únicamente, por lo que es recomendable que usen otras ramas durante el desarrollo y realicen merge a master sólo de lo que están seguros de querer entregar.
-
Para alojar sus aplicaciones en Internet, la plataforma soportada y recomendada será Heroku. Si desean utilizar otro proveedor, pueden hacerlo pero bajo su propia responsabilidad. El resultado final esperado es que ustedes tengan que realizar un deploy real de su aplicación en modo producción y que ésta quede disponible para cualquier usuario de Internet. No cumplir con ello implicará un castigo en la evaluación.
-
Para evaluar cada entrega, todos los miembros del equipo tendrán una reunión presencial de corrección con el ayudante que se les haya asignado. La no asistencia (salvo justificación de peso) de alguno o ambos integrantes implicará nota mínima en esa entrega.
-
El avance logrado en cada entrega se evaluará en base a lo mostrado en Heroku en el momento de la reunión con el ayudante y a lo subido al repositorio Github en la fecha límite de la entrega.
-
Las entregas se evaluarán según la siguiente escala:
- Nota A: Muy buen trabajo. Avance mayor del solicitado; excede expectativas.
- Nota B: Buen trabajo. En línea con la exigencia.
- Nota C: Regular. Bajo el avance esperado.
- Nota D: Malo. Muy por debajo de lo solicitado.
Al final del semestre, estas notas serán promediadas considerando las siguientes equivalencias: A – 7.0, B – 5.5, C – 4.0, D – 3.0
-
La aplicación debe desarrollarse en Node.js 8.9.4 o superior y koa 2.5.0 o superior (última versión disponible de ambos al momento de escribir este documento).
-
Para el cliente, deberán usar HTML, CSS y JavaScript.
- Será posible utilizar ES6+
- El templating engine soportado será EJS (con HTML); pero si lo desean podrán usar otros lenguajes de templates bajo su responsabilidad.
- Podrán usar SASS/SCSS, less, stylus u otros preprocesadores de CSS. En clases usaremos SCSS pues es más cercano a CSS que los demás.
- NO está permitido el uso de lenguajes que compilen a JavaScript, como CoffeeScript o TypeScript.
- Tampoco podrán usar librerías de componentes HTML/CSS/JS como Twitter Bootstrap o Zurb Foundation, salvo una que otra excepción (aquí deberán consultar en el foro). Pero si quieren, ¡vean su código fuente y úsenlos de inspiración!
- Cualquier package o librería adicional que quieran usar debe ser aprobado por el equipo docente. Revisen la Wiki y pregunten a través del foro del curso si tienen dudas.
-
Comiencen con una interfaz de usuario (UI) simple; no es necesario que su aplicación se vea "bonita" desde el comienzo.
-
Para la primera entrega deberán crear mockups (dibujos/prototipos) de su aplicación. La idea es que las utilicen en las entregas siguientes así que preocúpense de diseñarlos adecuadamente.
-
Escriban su código en inglés. Sacarán el máximo provecho de las convenciones que puedan haber y su código quedará en armonía con el lenguaje de programación que usen (que también estará en inglés). La interfaz de su aplicación puede estar en inglés o en español.
Para que todo el curso se vea beneficiado, hagan sus preguntas sobre el material del curso, sobre tecnologías web, y sobre el proyecto a través del foro del curso. No se responderá ninguna duda del proyecto por e-mail.