FdelMazo / FIUBA-Map

Mapa de materias y sus correlativas de la Facultad de Ingeniería
https://fede.dm/FIUBA-Map/
MIT License
130 stars 36 forks source link

Vista considerando grupos de materias a cursar por cuatrimestre #120

Closed JDSanto closed 2 years ago

JDSanto commented 2 years ago

Las materias del mapa están agrupadas en columnas. Actualmente, las obligatorias están agrupadas y ordenadas por cuatrimestre según el plan de estudio (y las electivas están por allá).

Con la funcionalidad de "voy a cursar las materias XYZ en 1, 2, 3 cuatrimestres", se podría agregar una vista alternativa donde cada columna tenga las materias a cursar en un mismo cuatrimestre, determinado por el plan del usuario. El botón de la vista podría estar en el dropdown de configuración o como otro abajo a la derecha.

Sería algo así, solo que con colores menos feos.

image

Algunas cosas a considerar/pensar/etc.

FdelMazo commented 2 years ago

JDSanto assigned FdelMazo

...

FdelMazo commented 2 years ago

Okey, entiendo la idea y me encanta. Creo que se me ocurre una cosa arriba:

Tirar la noción de "dentro de 3 cuatris", y cambiarlo por "voy a cursar esto el cuatri 2023c2, cursé esto en el 2021c1".

Ya que vamos a implementar nocion de que cuatri se va a cursar, no te parece copado agregarlo para todo ? O sea, en vez de ordenar las materias futuras, ordenar todo mi plan de cursadas. Es un agregado trivial, y siento que es lindo para los dementes con TOC que quieren ver su historial de cursada entero

FdelMazo commented 2 years ago

Mi otro tema es algo que ya me molesta hace bastante: si vos marcas como que vas a cursar una materia en el futuro, se pinta de gris, y perdes la informacion de si esa materia esta habilitada o no (pintada de naranja).

Suponete el caso de que planeas toda tu carrera por delante, llega un punto en el que ni sabrías que podes y que no podes cursar, porque esta todo pintado de gris!

Entonces, que opinas de matar del todo los labels [En 1 Cuatri] y las pintadas de grises, y que marcar que cuatri cursaste/vas a cursar una materia solo afecte el orden de las materias? O sea, que el atributo de cuatrimestre no afecte el nodo en sí, solo el map

FdelMazo commented 2 years ago

Suponiendo que te gustan mis dos ideas, pensaba que se puede dividir todo este feature en un par de cambios como:

image

JDSanto commented 2 years ago

Ya que vamos a implementar nocion de que cuatri se va a cursar, no te parece copado agregarlo para todo ? O sea, en vez de ordenar las materias futuras, ordenar todo mi plan de cursadas.

Qué pasaría con la gente que solo piensa un cuatri adelante? Ahí te queda un plan incompleto, salvo que le pongas un valor por defecto, y eso trae el problema de que cambiar todo porque te falta una correlativa implicaría arrastrar todo el plan de materias a mano.

En mis ojos (no sé qué tan fácil sería implementar esto porque desconozco graph-viz) existirían cuatro "grupos" generales: las materias aprobadas, las materias a cursar (incluyendo electivas), las materias sin cuatrimestre asignado (agrupada por como dice el plan, para encontrarlas fácil) y por último las electivas. Es muy similar a lo que hay actualmente implementado solo que le clavás las próximas materias en el medio, de las materias obligatorias.

CBC --> Materias --> Materias -->         Materias sin categorizar        --> Materias electivas sin categorizar
        Aprobadas    Próximas     (tal como está en el plan de la carrera)        (tal como está ahora)
FdelMazo commented 2 years ago

Matemos la idea de dos vistas. Hagamos esto y que sea el default para todos.

En grandes rasgos, quedaría el orden:

CBC -> [ Aprobadas sin Cuatri] -> [Materias con cuatri] -> [Materias sin cuatri obligatorias] -> [Materias sin cuatri electivas]

Si, dije exactamente lo que dijiste en tu comentario anterior.

FdelMazo commented 2 years ago

Suena todo super hacible. La parte mas jodida va a ser laburar con los levels de graphviz, porque van a ser dinamicos ahora. Estaria barbaro empezar a tratar los niveles hardcodeados en src/data como offsets, y 'desde la ultima materia con cuatri seteado', offsetear y agregar eso, para mantener el orden. De esto ultimoel primer paso es deshardcodear el CBC, porque un offset de -2 y -1 va a ser incomprensible