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 ofModelobjects, namelyPersonandModule, 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-modulecommand (#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
addcommand 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
editcommand 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
deletecommand 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
contactcommands topersonafter 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: