nusmodifications / nusmodifications/nusmods
Graduation eligibility checker based on planned modules and specialisations
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 689
- Forks
- 364
- Avg merge
- 7h 5m
- Merged PRs (30d)
- 14
Description
Is your feature request related to a problem? Please describe.
Currently, the module planning feature allows users to map out which modules to take each semester. However, students often face uncertainty about whether their chosen modules (including specialisations, faculty requirements, and unrestricted electives) will actually allow them to graduate on time. This usually requires manual cross-checking with degree requirements, which is tedious and error-prone.
Describe the solution you'd like
Enhance the module planning feature with a graduation eligibility checker:
- Allow users to input their degree programme, faculty, and specialisation(s).
- Compare the user’s planned modules against official graduation requirements.
- Provide real-time feedback (e.g., Satisfies all requirements, Missing X MCs in Core Modules)
Describe alternatives you've considered
Manually cross-referencing NUSMods module planner with NUS degree requirement documents.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing module planning feature and the NUSMods module and degree-requirement data it uses. Determine how degree programmes, faculties, specialisations, core modules, and unrestricted electives are represented before defining the checker’s scope. Done means planned modules can be compared with official requirements and the interface reports whether requirements are satisfied or what is missing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, typescript
- Domain
- backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100