nusmodifications / nusmods

🏫 Official course planning platform for National University of Singapore.
https://nusmods.com
MIT License
588 stars 319 forks source link

Feature: Add 'Custom Modules' to timetable #2040

Open nlopez98 opened 5 years ago

nlopez98 commented 5 years ago

Is your feature request related to a problem? Please describe.

Having enrolled in a DYOM mod this sem, I wonder if it's a possible thing to input them into the timetable.

Describe the solution you'd like

A template module info sheet with code (if available), lecture slots etc can be input and a slot appears on the timetable

Describe alternatives you've considered

This may be difficult to implement since DYOM mods are not official, but if anyone has a better idea hopefully this could be pushed forward (when more DYOM mods are presented)

Additional context

Add any other context or screenshots about the feature request here.

ZhangYiJiang commented 5 years ago

Sorry, could you provide more information what DYOM modules are? I've never heard of them before.

nlopez98 commented 5 years ago

Design-your-own-modules which go through school approval but are not registered as official modules under the major code, but can be pre-allocated on modreg.

http://www.nus.edu.sg/registrar/education-at-nus/undergraduate-education/design-your-own-module.html

Edit: I am mainly referring to type B where lecture slots are also needed.

sciffany commented 5 years ago

I would like to take this feature request

ZhangYiJiang commented 5 years ago

@sciffany Sure! Since this is a relatively large change, could you sketch a rough outline about your approach before starting?

agnesnatasya commented 4 years ago

Hi, may I ask if I could work on this feature request if it has not been completed yet?

Thank you!

sciffany commented 4 years ago

Hello, sorry I was a little caught up and am unable to complete this feature request in the near future. I have unassigned myself

agnesnatasya commented 4 years ago

Okay thank you! I will try to work on this

chrisgzf commented 3 years ago

Hello, thanks @agnesnatasya for your work in #2785, and I was wondering if we could refine the scope/use-case of this feature more, as well as work on the UX.

Recently, there has been feature requests for hiding of slots from timetables: see #3334, however I find that hiding entire types of lessons (i.e. hiding all tuts/lec/rec) does not completely solve the problem in #3334, because certain modules (e.g. CS2103T) have multiple lessons of the same type that are taught by different tutors, and there are other issues with this approach which I will expand on in #3334.

In essence, I think that being able to add custom modules is a good compromise between both this issue and #3334:

However, looking at #2785 again, I'm thinking of how the UX can be improved, and I have a suggested flow that I quickly hacked together (note: I'm not a UX designer - so this is possibly very bad, feel free to critique / flame it to the ground): https://www.figma.com/file/x6XlVmjjq2c87jw7elq2JF/NUSMods-Custom-Modules-Mock-up?node-id=0%3A1

Any thoughts? @agnesnatasya @sciffany @ZhangYiJiang @taneliang (looping in @seanlowjk and @over-fitted as well, since both of you were interested in the issue)

chrisgzf commented 3 years ago

Also, @agnesnatasya would you like to continue working on this feature?

agnesnatasya commented 3 years ago

Hi @chrisgzf sorry for the late reply, was pretty occupied last week!

Agreed with your concerns in #3334, and yes, I think this will be a good solution for both issues.

I think the flow that you suggested looks great, thank you for the mockup! The flow is definitely better compared to the UX in #2785 , the modal is a great idea! I was wondering if the Add custom module button should be in the main Add module to timetable filter bar (I'm not sure if this is the correct terminology), I think it might be a bit confusing for some users, because it's the only option when you haven't typed anything yet into the filter bar, thus it might be no longer intuitive that it is a filter bar

I can't really think of a better idea, but we might put the Add custom module button after the non-custom modules list, and this actually corresponds to the layout after adding custom modules (below the non-custom modules list), which might be more intuitive for some users. However, this might not be the best option too because it might not be visible for some users, especially if the users have added a lot of non-custom modules to their timetable. Although this might not be a huge issue because it will be 'visible' for those who are interested.

I will continue working on this feature, but I will update you if I am unable to get the main work done by the early September, as I might be occupied by then and will be unable to contribute to the issue in a timely manner. In this case, I think it might be a better idea to let someone else take over, especially if the feature request is popular. May I check if this is okay?

Thank you very much!

seanlowjk commented 3 years ago

Hi @agnesnatasya , sorry for the late message, but is it alright if I can take over the work from here and work together with @chrisgzf to implement the custom modules feature with possible revising the UI UX? Thank you! :pray:

agnesnatasya commented 3 years ago

Hi @seanlowjk yup, sure you can take over the work from here! Thank you! 🙏