Saltar al contenido principal

TP2 - Introducción al Desarrollo de Software

Última modificación: 04/06/25

Objetivo

Los alumnos deben demostrar la comprensión de los conceptos aprendidos en clase y la habilidad para aplicarlos en la resolución de problemas, junto con el desarrollo de una idea creativa y propia.

Descripción

Los alumnos deberán desarrollar un sitio web completo utilizando las tecnologías vistas a lo largo de la materia. El mismo constará de un frontend y un backend, con persistencia de datos utilizando una base de datos. El sitio web deberá tener una temática creativa y original, elegida por cada grupo, y deberá cumplir con los siguientes requisitos:

  • El backend deberá ser una API REST.
  • El frontend deberá ser un sitio estático (CSR), con al menos tres (3) página diferentes, el cual solicitará información al backend para mostrarla.
  • El proyecto deberá contar con al menos tres (3) entidades diferentes, representadas en tablas de la base de datos, con al menos cinco (5) campos cada una (excluyendo el ID). Debe haber al menos una relación para cada entidad (de entrada o salida), utilizando foreign keys.
  • Se debe contar un CRUD completo para cada entidad, los cuales deberán ser accesibles desde el frontend.
  • Debe existir la posibilidad de levantar el proyecto utilizando Docker Compose, permitiendo levantar el frontend y el backend por separado.
  • El proyecto deberá contar con un archivo README.md con las instrucciones para configurar y levantar el sistema, junto con una descripción del mismo y capturas de pantalla del funcionamiento.
  • El proyecto deberá ser desarrollado utilizando git, cumpliendo las prácticas profesadas en clase, y subido a un repositorio privado de GitHub. En particular, se deben cumplir las siguientes pautas:
    • El desarrollo deberá ser incremental, con commits atómicos y mensajes descriptivos.
    • Se deberán utilizar branches para el desarrollo de nuevas funcionalidades, y pull requests para la revisión de código.
    • Los pull requests deberán ser revisados y aprobados por al menos un (1) compañero de grupo.

Grupos

Los grupos serán de dos (2) a cuatro (4) alumnos, sin excepción. Los grupos serán formados por los alumnos y serán informados al docente a través de un formulario de Google Forms.

Evaluación

El TP se evaluará en una instancia de final, en la cual los alumnos deberán presentar el proyecto y responder preguntas sobre el mismo. Todos los alumnos del grupo deberán estar presentes en la presentación y haber participado en el desarrollo del proyecto, con commits en el repositorio. En caso de contar con el proyecto desplegado en un servicio disponible públicamente en internet, se otorgará un (1) punto extra a la nota final. Los grupos escogerán una fecha entre las primeras cuatro (4) disponibles para presentar. La quinta y última fecha quedará reservada para los grupos que no hayan aprobado en su primera instancia. En caso de no aprobar en la segunda instancia, los alumnos no habrán regularizado la materia.

Fechas de Presentación

Las fechas de presentación del trabajo práctico se corresponderán con los primeros cuatro llamados a exámenes finales del período julio-agosto de 2025.

El quinto llamado (último disponible en el período) estará reservado exclusivamente para la instancia de recuperatorio.

IMPORTANTE: Todo grupo que no apruebe en alguno de los llamados disponibles deberá recursar la materia, sin excepciones.

Fechas de final

Ubicación: Laboratorios de computación (4to piso de Paseo Colón 850)
Horario: 19:00 hs

  • Jueves 3 de julio de 2025
  • Jueves 10 de julio de 2025
  • Jueves 17 de julio de 2025
  • Jueves 24 de julio de 2025
  • Jueves 31 de julio de 2025 (Solo recuperatorio, no se pueden anotar directamente a esta fecha)