Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update PPP for Vinh #176

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ We are a team based in the [School of Computing, National University of Singapor
<img src="images/icewizard4902.png" width="200px">

[[github](https://github.com/IceWizard4902)]
[[portfolio](team/nguyenquangvinh.md)]
[[portfolio](team/icewizard4902.md)]

- Role: Developer
- Responsibilities: Testing
Expand Down
5 changes: 1 addition & 4 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,7 @@ Shows the list of all persons in the IG.
Format: `list`

* The list will display the names of all the persons in the IG
* The IG leader can use the `details` command with the name to show further details of the person (name, phone number, Telegram handle, Email)

Examples:
* `list` in an IG of 5 persons will display all the person’s names.
* The user can use the `details` command with the name to show further details of the person (name, phone number, Telegram handle, Email)

### Editing a person : `edit`

Expand Down
2 changes: 2 additions & 0 deletions docs/diagrams/StorageClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Interface AddressBookStorage <<Interface>>
Class JsonAddressBookStorage
Class JsonSerializableAddressBook
Class JsonAdaptedPerson
Class JsonAdaptedEvent
Class JsonAdaptedTag
}

Expand All @@ -38,6 +39,7 @@ JsonUserPrefsStorage .up.|> UserPrefsStorage
JsonAddressBookStorage .up.|> AddressBookStorage
JsonAddressBookStorage ..> JsonSerializableAddressBook
JsonSerializableAddressBook --> "*" JsonAdaptedPerson
JsonSerializableAddressBook --> "*" JsonAdaptedEvent
JsonAdaptedPerson --> "*" JsonAdaptedTag

@enduml
Binary file modified docs/images/StorageClassDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 17 additions & 28 deletions docs/team/icewizard4902.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,33 @@ layout: page
title: Nguyen Quang Vinh's Project Portfolio Page
---

### Project: AddressBook Level 3
### Project: ForYourInterest

AddressBook - Level 3 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.
ForYourInterest - ForYourInterest is a desktop app for managing members in university clubs/societies, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

Given below are my contributions to the project.

* **New Feature**: Added the ability to undo/redo previous commands.
* What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
* Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them.
* 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: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}*
* **New Feature**: Added more functionalities to the `clear` command
* What it does: allows the user to clear the elements they want (persons/events) in a specific range that they want.
* Justification: This feature improves the product significantly because a user can delete multiple entries at once using a single `clear` command instead of using multiple `delete` commands.
* Highlights: This enhancement suggests the use of `flags` to differentiate commands operating on the member or event list. This feature was initially planned to delete entries before/after a certain date but was later discarded due to lack of time for proper development. I was able to come up with a version of `clear` that provides a sensible improvement in user experience.

* **New Feature**: Added functionality in the Storage component to store the event list in a Json format
* What it does: allows the user to save the event list of the program in a Json format. This help the user retain the event list for later use of the program.
* Justification: Since the product has a new addition - the `event`, it is logical to configure the Storage component to store this data.
* Highlights: This feature touched many components (`model`, `ui`, `Storage` involved). I have to make sure that the saved file in Json format works well (mitigate as many bugs as possible) with the iteration of the product at the time of development. Also this feature requires a thorough understanding of the `Storage` component.

* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys.

* **Code contributed**: [RepoSense link]()
* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2122s1.github.io/tp-dashboard/?search=T16-4&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2021-09-17&tabOpen=true&tabType=authorship&zFR=false&tabAuthor=IceWizard4902&tabRepo=AY2122S1-CS2103-T16-4%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code&authorshipIsBinaryFileTypeChecked=false)

* **Project management**:
* Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub
* Lead the discussion for some of the team's weekly meeting
* Show up on time for meetings.

* **Enhancements to existing features**:
* Updated the GUI color scheme (Pull requests [\#33](), [\#34]())
* Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]())
* Improved the `clear` command as mentioned above in the new feature.

* **Documentation**:
* User Guide:
* Added documentation for the features `delete` and `find` [\#72]()
* Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]()
* Added documentation for the features `clear`, `list`
* Developer Guide:
* Added implementation details of the `delete` feature.

* **Community**:
* PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]()
* Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())
* Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]())
* Some parts of the history feature I added was adopted by several other class mates ([1](), [2]())

* **Tools**:
* Integrated a third party library (Natty) to the project ([\#42]())
* Integrated a new Github plugin (CircleCI) to the team repo

* _{you can add/remove categories in the list above}_
* Added updated view of the `Storage` component.