nusmodifications / nusmodifications/nusmods

Graduation eligibility checker based on planned modules and specialisations

Open
#4,241 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request planner
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.