Ek Wei Rui's Project Portfolio Page
Project: Plannit
Plannit is an all-in-one application that streamlines the execution of module deliverables by empowering NUS students with the ability to manage tasks, links and module-mates (i.e., students in the same module) to increase their productivity.
Given below are my contributions to the project.
- New Feature: Added the ability to display persons associated to a module upon navigating to it, ie a module-person
association (#79)
- What it does:
Allows users to view all the persons associated to a module. - Justification:
This feature allows forgetful users to know which of their friends take a certain module so that they know who to approach when they need help with the module’s work (user story). - Highlights:
This enhancement was not easy because it involved interactions between two different kinds ofModel
objects, namelyPerson
andModule
, which required intensive considerations on the design to ensure there were as little dependencies as there could be. Due to that and the bug-prone nature of the feature, it required an in-depth analysis of design alternatives. The implementation was also challenging because existing commands had to be modified. This was previously not in the design of AB3. (see #98).
- What it does:
- New Feature: Added
delete-person-from-module
command (#100)- What it does:
Allows users to remove the association between a person and a module (if it exists). - Justification:
This feature allows users to maintain their person-module associations to be updated with real world events. For example, users can delete a person from a module if the person dropped out halfway, or when a new semester arrives (user story). - Highlights:
Same as the new feature before.
- What it does:
- Enhancements/modifications to existing features:
- Modified AB3’s
add
command to better suit project needs- Removed address and tags field as they were deemed irrelevant to our target audience and value proposition (#62).
- Enhanced AB3’s
edit
command to work with newly implemented features- Added the ability for editing of person to work seamlessly with the module-person association, ie editing a person also edits all instances of the person in each module (if it exists) (#98).
- Modified AB3’s
delete
command to use new parameters- Modified the parameter used for deletion of a contact to be from index to name so that it is consistent with other commands and also to make it more intuitive to the user (#92).
- Modified AB3’s
- Highlights and minor features:
- Spearheaded discussions and laid foundation down for the module-person association and all of its related commands (some discussions found here).
- Led discussions related to UI display issues after execution of commands and implemented the final behaviour (#157).
- Added the ability to display the modules and persons list in sorted order (#106).
-
Code contributed: RepoSense link
- Documentation:
- User Guide:
- Developer Guide:
- Review contributions:
- Team based tasks:
- Necessary general code enhancements:
- Refactored
contact
commands toperson
after feedback from teammates (#86)
- Refactored
- Maintaining the issue tracker:
- Created and assigned the majority of labels and milestones.
- Resolved issues after a relevant PR has been merged.
- Necessary general code enhancements:
- Community: