Se trata de hacer un backend usando Typescript, Express y Prisma. El backend implementado en clase es el modelo a seguir. Para alumnos que lo hacen por primera vez y sienten algo de incomodidad, lo ideal es usar el modelo de guía y hacer un backend cercano al original de tal manera que la práctica sea un repaso a fondo. Para los que estén más cómodos, lo ideal es innovar en algun aspecto y salirse parcialmente del modelo en ciertos momentos o explorar algún interés personal. El modelo de datos es directamente la práctica anterior.
Al usar Prisma, es quizás buena idea explorar proveedores de Prisma que no sean precisamente Postgres, ya que el coste de hacerlo es mínimo (aunque esto no es obligatorio para nada). Aparte de los proveedores locales alternativos a Postgres, existen también opciones en la nube equivalentes a Postgres como PlanetScale, CockroachDB o Supabase, bien explicadas en la documentación de Prisma.
Como anteriormente, para hacer esta práctica hay que:
- Hacer un fork de este repositorio.
- Trabajar en el fork haciendo commits regularmente (una práctica que aparece entera en un solo commit tendrá una nota muy baja o cero, hay que mostrar todo el proceso intermedio).
- Al finalizar, se debe crear un
ZIP
del repositorio (que incluya el fichero.env
!) y entregarlo en el Campus Online de UPC School (habrá una tarea preparada para ello).
El entregable es el código del proyecto, incluyendo:
docker-compose.yml
si la base de datos corre bajo Docker.- El código completo del servidor.
- Un fichero exportado de Thunder Client con la lista de endpoints que se han probado. (Esto es extremadamente relevante porque la corrección del backend, de no tener este fichero, es un trabajo muchísimo más tedioso!).
- Si se necesitan credenciales para acceder a servicios de cloud (o incluso localmente), es importante incluir en el ZIP del campus el fichero
.env
con éstas. Es muy importante no subir ese fichero en GitHub (es decir, incluirlo en.gitignore
).