Asher's Project Portfolio Page
Project: NotionUS
NotionUS is 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.
-
Code contributed: RepoSense link
-
Enhancements implemented:
- Added the
mark
andunmark
command- What it does: allows the user to mark a task as done or not done.
- Highlights:
- This required an in-depth analysis of the system in order to implement it in a way that would not interfere with existing requirements, i.e. keeping
Task
objects immutable.
- This required an in-depth analysis of the system in order to implement it in a way that would not interfere with existing requirements, i.e. keeping
- Added the
tag
command- What it does: allows the user to add on tags to existing tasks. Multiple tags can be added at one go.
- Highlights:
- Before this command, changing the tags of a task required the user to edit the entire task, including re-adding tags that were already present.
- This required an in-depth analysis of the system and consideration of design alternatives. The implementation too was challenging when done in a way so as not to interfere with the functionality of existing commands.
- Writing the test cases for this command also proved to be challenging as many of the test utilities had to be edited to accommodate the new command.
- Added the
- Contributions to the UG:
- Refined the Introduction
- Added the Quick Start section
- Added documentation for the features
mark
andunmark
- Added documentation for the features
tag
- Standardised command formats throughout the User Guide
- Contributed to the Command Summary
- Contributions to the DG:
- Added the Introduction
- Added implementation details of the
mark
andunmark
feature- Created UML sequence diagram to detail the mechanism of the feature
- Updated use cases
- Added the UML use case diagram to summarise the use cases and their possible extension.
- Contributions to team-based-tasks:
- Fixed JSON file typo that was inherited from AB3
- This required learning how to use JSON
- Fixed JSON file typo that was inherited from AB3
- Reviewing/Mentoring:
- List of all PR reviews for team members can be viewed here
- Includes reviewing the initial morph PR which had the most changes and set the foundation of our project
- List of issues raised while bug-checking other teams can be viewed here
- List of all PR reviews for team members can be viewed here