Skip to content

Commit

Permalink
Merge pull request #170 from HugeNoob/lingxi/update-ppp
Browse files Browse the repository at this point in the history
docs: Cut PPP length
  • Loading branch information
pra-navi authored Nov 13, 2023
2 parents cbb5f83 + 1ffc04a commit dc7ba63
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions docs/team/hugenoob.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,59 +9,55 @@ CoordiMate is a desktop application designed specifically for SoC Computing Club

Given below are my contributions to the project.

* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=HugeNoob&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)<br><br>
* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=HugeNoob&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2023-09-22&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)

* **New Feature**: `deleteAllPerson` ([PR #77](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/77))
* What it does: Deletes all persons in the contacts list.
* Justification: Provides a quick solution for clearing persons, enhancing organization and decluttering the interface.
* Highlights: This was one of the first commands I worked on, which helped me to udnerstand the logic flow of the codebase. Unlike the `clear` command in AB3, I intentionally avoided the hard reset of the entire `AddressBook`. Instead, I took the approach of specifically resetting the `UniquePersonList`. This implementation is more robust as it integrates better with our future task functionalities. The original implementation would have cleared all tasks as well, which is not the desired behaviour.
* Credits: The `deleteAllPerson` command was inspired by the `clear` command in AB3.<br><br>
* Highlights: This command required me to have a deep understanding of the existing codebase. I had to ensure that only `UniquePersonList` was reset, and not the entire `AddressBook`, in order to preserve the tasks list.

* **New Feature**: `addTask` ([PR #84](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/84))
* What it does: Adds a task to the task list.
* Justification: Enables users to keep track of their tasks.
* Highlights: Since task is a new entity that did not exist in AB3, I had to implement the logic and model flows for task to match the existing flow for persons. This meant that I had to understand the existing codebase deeply in order to make the necessary changes.
* Credits: The `addTask` command was inspired by the `add` command in AB3.<br><br>
* Highlights: Since task is a new entity that did not exist in AB3, I had to implement the logic and model flows for tasks to match the existing flow for persons.

* **New Feature**: `editTask` ([PR #91](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/91))
* What it does: Allows users to edit the title, note, or tags of a task.
* Justification: Enables users to correct mistakes or update the details of their tasks.
* Highlights: The implementation of this command is quite different from the rest. AB3 had an `EditPersonDescriptor` class that acts as an intermediate representation of all edits to be made to a person. I had to deeply understand this existing design and adapt it to `editTask`.
* Credits: The `editTask` command was inspired by the `edit` command in AB3.<br><br>
* Highlights: I had to understand AB3's `EditPersonDescriptor` class design, which was only present in the `edit` command, and adapt it to `editTask`.

* **New Feature**: `deleteTagPerson` ([PR #120](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/120))
* What it does: Deletes tag(s) from a person.
* Justification: Initially, we could only specify new tags using the `editPerson` command. To delete a specific tag, the user would have to specify all existing tags, except the unwanted tag. This command provides a quick way for users to remove specific tags from a person.
* Highlights: For this command, I had to handle the validity of the specified tags. Tags that exist on the person will be removed, while tags that do not exist will be ignored. I also gave the user feedback on the status of the deletion: specifying which tags were deleted, and which tags were not found.<br><br>
* Highlights: For this command, I had to handle the validity of the specified tags. Tags that exist on the person will be removed, while tags that do not exist will be ignored.

* **New Feature**: `deleteTagTask` ([PR #122](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/122))
* What it does: Deletes tag(s) from a task.
* Justification: Initially, we could only specify new tags using the `editTask` command. To delete a specific tag, the user would have to specify all existing tags, except the unwanted tag. This command provides a quick way for users to remove specific tags from a task.
* Highlights: Similar to the `deleteTagPerson` command, I also had to handle the validity of the specified tags.<br><br>
* Highlights: Similar to the `deleteTagPerson` command, I also had to handle the validity of the specified tags.

* **New Feature**: Add shortened command words to existing commands ([PR #106](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/106))
* What it does: Users can now use shortened command words for existing commands.
* Justification: Some of our commands, such as `deleteTagPerson`, were getting lengthy and troublesome to write each time. In the spirit of catering to fast typers, we decided to add shortened command words.
* Credits: This idea is inspired by the [C-FriendlierSyntax](https://nus-cs2103-ay2324s1.github.io/website/se-book-adapted/projectDuke/index.html#c-friendliersyntax) from iP extensions. For this task, I added shortened command words for the commands that existed at that point in time. Further shortened command words were added by other team members later on.<br><br>
* Credits: For this task, I added shortened command words for the commands that existed at that point in time. Further shortened command words were added by other team members later on.

* **Enhancement to existing features**: `help` ([PR #75](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/75))
* What it does: Brings up a new window that displays the link to our user guide. A new button was added that allows users to directly open the link in their browser.
* Justification: We wanted to improve the user experience by skipping the step of manually copy-and-pasting the link to the browser.
* Credits: The `help` command is an adaptation of the `help` command in AB3.<br><br>

* **Project management**:
* Introduced a [PR template](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/17) for the team to follow.
* Proposed a 2-approval policy for PRs before merge. This improves the quality of the codebase and reduces the chances of bugs.<br><br>
* Proposed a 2-approval policy for PRs before merge. This improves the quality of the codebase and reduces the chances of bugs.

* **Documentation**:
* User Guide:
* Added documentation for `deleteAllPerson`, `addTask`, `editTask`, `deleteTagPerson`, `deleteTagTask`, `help`, `exit`.
* Added documentation for `deleteAllPerson`, `addTask`, `editTask`, `deleteTagPerson`, `deleteTagTask`, `help`, `exit`. ([PR #62](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/62), [PR #108](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/108), [PR #160](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/160))
* Developer Guide:
* Added implementation details for `editTask`.
* Added user stories and use cases for `deleteAllPerson`, `addTask`, `editTask`, `deleteTagPerson`, `deleteTagTask`, `help`.
* Added Non-Functional Requirements section.<br><br>
* Added implementation details for `editTask`. ([PR #163](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/163))
* Added user stories and use cases for `deleteAllPerson`, `addTask`, `editTask`, `deleteTagPerson`, `deleteTagTask`, `help`. ([PR #100](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/100), [PR #163](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/163))
* Added Non-Functional Requirements. ([PR #56](https://github.com/AY2324S1-CS2103T-T10-2/tp/pull/56))

* **Community**:
* PRs reviewed by me can be found [here](https://github.com/AY2324S1-CS2103T-T10-2/tp/pulls?q=is%3Apr+reviewed-by%3AHugeNoob+). As of time of writing, I have reviewed more than 50% of all PRs.
* Forum discussions that I have participated in can be found [here](https://github.com/nus-cs2103-AY2324S1/forum/issues?q=is%3Aissue+commenter%3AHugeNoob+).
* Reported [10 bugs and suggestions](https://github.com/HugeNoob/ped/issues) for other teams during the PE dry run.<br><br>
* Reported [10 bugs and suggestions](https://github.com/HugeNoob/ped/issues) for other teams during the PE dry run.

0 comments on commit dc7ba63

Please sign in to comment.