FdelMazo / FIUBA-Plan

Organizador de horarios de la Facultad de Ingenieria
https://fede.dm/FIUBA-Plan/
MIT License
46 stars 6 forks source link

Combinaciones de horarios #37

Closed nazar9318 closed 2 years ago

nazar9318 commented 3 years ago

Si mal no recuerdo hace unos años el organizador tenía propuestas de horarios en base a la cantidad de materias que quiera hacer uno y cantidad de horas superpuestas aceptadas, ¿podría implementarse de vuelta?

FdelMazo commented 3 years ago

Se puede pensar! Creo que es un re quilombo, pero voy a buscar alguna manera de hacerlo andar. Por ahora dejo abierto el issue y si veo que no esta dentro del scope del proyecto, lo cierro

FdelMazo commented 3 years ago

Después de mucho pelotear, no pude hacer esta funcionalidad. Disculpa! Acepto algun futuro PR que la agregue, pero por ahorra cierro el issue

FdelMazo commented 3 years ago

Lo reabro. Algun dia me va a salir hacerlo andar

FdelMazo commented 2 years ago

Okey, ideas al azar:

Front:

Back:

FdelMazo commented 2 years ago

Bueno, habiendo dicho todo esto y volviendome loco con como implementarlo, voy a dejar de lado este issue (y acepto ideas, siempre). Me conformo bastante con agregar nada mas un indicador que me dice que un curso esta overlappeando con el resto del plan, agregado en 56595ed5141e1c05a27635b9085f8a96d55f60f2

FdelMazo commented 2 years ago

Cual es mi mayor problema con la implementacion del combinador de horarios? que si tenes ganas de cursar analisis 2 y proba (por decir dos materias con mucha oferta horaria), las combinaciones posibles son mas de 100, y si le presentas al usuario esas 100 combinaciones, la verdad es que nunca va a verlas todas. Es decir, no encuentro la mejor estructura para presentar tantas combinaciones de horarios. Habria que encontrar alguna forma inteligente de agruparlas tal vez, para que en vez de tener 100, tengas 15 con la misma idea (por ejemplo, agrupar todas las combinaciones que cubren el mismo rango horario, sin importar que catedra es). O, tal vez es mas inteligente mostrar los sobrelapamientos directamente, es decir, que catedras NO se pueden juntar nunca.

Pero bueno, lo que si llegue a codear es el front, que es basicamente un modal que te pregunta cuantas materias queres cursar, y con cuanto solapamiento:

image
Codigo ``` const grynbotToast = React.useRef(); const [nMaterias, setNMaterias] = React.useState(selectedMaterias.length); const [superposicion, setSuperposicion] = React.useState(0); --- const D20Icon = () => ( ); --- {!!selectedMaterias.length && ( toast.close(props.id)} position="absolute" right="8px" top="8px" /> ), status: "info", position: "bottom-left", duration: null, isClosable: true, })); }} > Grynbot )} ```
FdelMazo commented 2 years ago

Toda persona es bienvenida a codear esto!