Yihe's Project Portfolio Page
Project: NUS Module Planner
NUS Module planner is a brownfield project based on AddressBook - Level 3, a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project:
###Overview:
NUS Module Planner is a desktop application for managing your study plans at NUS. Users can create their own study plans to map out what modules to take for each semester so as to meet their graduation requirements. The application also highlights the pre-requisites for each module, to ensure that the user does not miss them out in their planning. While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface).
New feature: add module command and delete module command
-
What it does: Allow users to add a valid module to their plan and semester given a plan number and semester number and module code
-
Justification: This function is one of the main feature of the module planner
-
Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
-
Credits: This feature has to link with the add semester and add plan feature. It make use of the AB3 architecture on command and storage.
Code Contributed
Enhancements implemented
- Wrote additional tests for existing features
- Helped with bug fixing after peer review
Contributions to the UG
- Module Command part
Contributions to the DG
- Add module to semester feature
- Module Object Diagram
- Add Module Architecture Sequence Diagram
- Glossary
Community
Team Task Contribution
- Give the general idea of the app
- Maintaining issue tracker