Skip to content

Conversation

seanlowjk
Copy link
Contributor

@seanlowjk seanlowjk commented Dec 15, 2021

Context

Resolves #2040

The idea is to implement custom modules for students who wish
to add modules that are not part of the NUS curriculum (DYOMs)
or TA classes. (Especially for SoC TAs)

Implementation

Timetable.-.NUSMods.-.Google.Chrome.2021-12-15.17-38-22.mp4

With guidance from @chrisgzf , we have developed a solution which allows
users to add their custom modules.

This is done via CustomLessons which are not readonly. As a result, we can
incorporate these custom lessons into the TimetablesState to be stored for future use.

Other Information

  1. Once this is integrated, will we need to integrate this feature as well with
    regards to the export feature?
  2. My engineering decisions have been briefly mentioned above. Do let me know
    if there is room for improvement.

TODOs

  • Add Component and Logic Tests

@jloh02
Copy link
Member

jloh02 commented Jan 30, 2025

Updated:

  • Allow multiple timeslots per custom module
  • Better serialization and deserialization of custom modules

Future PRs and Issues to Add:

  • Custom lesson types
  • Add custom modules to downloaded timetable (PNG, PDF, iCal)
  • Custom module should appear on today page
  • Save modal state on exit or have confirmation page without saving (ie "exit without saving?")
  • Better way of import/export modules (Maybe via JSON?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: Add 'Custom Modules' to timetable
4 participants