Pedidos de materiales

Contexto y objetivos

En varias materias de las carreras del instituto de Biotecnología (y tal vez también Salud) se hacen clases prácticas en laboratorios, en las cuales lxs estudiantes tienen hacer experimentos. Para estos experimentos, la Universidad provee:

Los docentes realizan pedidos de reserva de laboratorio, en los que indican qué equipos, materiales y reactivos se necesitan, y en qué cantidades. Con esta información, el personal de laboratorio designa en cuál de los laboratorios de docencia de la UNAHUR se desarrolla la clase, y organiza la provisión de los elementos necesarios.

El equpo que gestiona los laboratorios solicitó hace ya un tiempo, una aplicación que permita gestionar estos pedidos de materiales, en lugar de las idas y vueltas de mails con los docentes más anotaciones en algún Excel u hoja para registrar las reservas.

Stakeholders

Los stakeholders para este proyecto son Paloma Martínez Ponce y Marco Ruiz.

Estado del proyecto

En cursadas anteriores se avanzó mucho con este proyecto, interactuando activamente con personal de laboratorio, y llegando a una versión que tal vez esté bastante cerca de quedar operativa.
Esta es la carpeta presentada por el grupo que trabajó sobre este proyecto en el segundo cuatrimestre de 2023 y primero de 2024.

Objetivos preliminares para segundo cuatrimestre 2024 y primer cuatrimestre 2025

El trabajo que se propone incluye tareas de varios tipos.

Tareas técnicas

Imagen de las “clases” de materiales o equipos, esto es el alta de material (perfil laboratorio o administrador).
clases de materiales o equipos

Imagen de los edificios, esto es la edición de un pedido (perfil laboratorio).
clases de materiales o equipos

Bugs

Documentación

Posibles agregados y mejoras funcionales.

Instrucciones particulares para arrancar

Entender el dominio

Leer la carpeta del equipo que trabajó en este proyecto en 2023/2024, que está linkeada arriba en esta página. Entender el dominio y las funcionalidades implementadas.

Inicializar los repos de código remoto y local

Hacer los fork (ver instrucciones en esta página) de los repositorios con el código existente, en la organización de GitHub correspondiente al grupo. Los repositorios base que deben forkear son estos:

Una vez creados los fork, en el equipo de cada integrante:

Configurar la BD

Instalarse MongoDB, o usar Atlas (el servicio cloud gratuito de Mongo). Configurar el acceso a la BD desde el proyecto de backend, seteando la variable de ambiente URI_MONGO en el archivo .env en el proyecto de backend.

Agregar un documento en la colección de usuarios, con estas características (salvo contrasenia, admin, editor, rol y __v, en los otros atributos pueden poner el valor que quieran. Incluso no es necesario que el id de usuario sea admin, aunque esto se recomienda).
¡¡Atención!! - fíjense que dni y matricula son números, eso tiene que ser así.

{
    _id: ObjectId("66b4fd973c67f8681c1b01fe"),
    usuario: 'admin',
    contrasenia: '$2b$10$TrsBSx5JPJx8U9gQazlrF.4JMKEQ6dglANaWIUU3U8Wq2mkP6xdG6',
    nombre: 'Aymará',
    apellido: 'Rocamora',
    dni: 88778877,
    matricula: 333444,
    admin: true,
    email: 'aymara.rocamora@notamail.com',
    editor: false,
    __v: 0,
    rol: 'lab'
}

La clave de este usuario es 123123. Esto está contado en la carpeta del equipo que trabajó en este proyecto en 2023.

Levantar BE y FE

Para el BE, simplemente npm start.

Para el FE, setear las variables de entorno REACT_APP_API_URL con la URL donde levantó el BE (que por defecto es http://localhost:3001) y REACT_APP_USER con un nombre cualquiera, pero tiene que estar.
Una vez hecho esto, darle nomás a npm start.

Después

Una vez BE y FE levantados, navegar el FE para entender un poco de qué se trata, relacionar con lo que se leyó en la carpeta. Se recomienda hacer lo siguiente:

Revisar la lista preliminar de objetivos, entender cada ítem.

Un poco más adelante

Cuando se sientan seguros con la aplicación y el dominio, solicitar una reunión con los stakeholders, mostrarle lo que está hecho, plantearle los agregados planteados por los docentes relacionados con la funcionalidad, y refinar los pasos a seguir.