From b6bcede2f4da11eca3684ce0213e6e2eb8035857 Mon Sep 17 00:00:00 2001 From: Eric Leow Date: Sun, 5 Mar 2023 15:56:58 +0800 Subject: [PATCH 1/3] Add formal picture --- docs/images/shittake.png.jpg | Bin 0 -> 35938 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/shittake.png.jpg diff --git a/docs/images/shittake.png.jpg b/docs/images/shittake.png.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee826d6bda9717adeb408fe23b35380aa110a84d GIT binary patch literal 35938 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 literal 0 HcmV?d00001 From f99b27ed20151c2f26290bfdd9bfdf3a7f5218d3 Mon Sep 17 00:00:00 2001 From: Eric Leow Date: Sun, 5 Mar 2023 16:18:36 +0800 Subject: [PATCH 2/3] Add PPP skeleton --- docs/team/shittake.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/team/shittake.md diff --git a/docs/team/shittake.md b/docs/team/shittake.md new file mode 100644 index 000000000..e69de29bb From 3a65f55aa92f12838f62edea0c39d46876433e41 Mon Sep 17 00:00:00 2001 From: Eric Leow Date: Sun, 5 Mar 2023 16:18:57 +0800 Subject: [PATCH 3/3] Add PPP skeleton --- docs/UserGuide.md | 2 +- docs/team/shittake.md | 45 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 532678568..e9e83319a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -267,7 +267,7 @@ Examples: * `filter student all participation 90` -### Filter students in recurring events: `alert student` +### Alert students in recurring events: `alert student` Provides a list of students who are suddenly performing poorly based on a certain metric, such as a sudden drop in participation level or a sudden increase in urgency level. diff --git a/docs/team/shittake.md b/docs/team/shittake.md index e69de29bb..67c32880a 100644 --- a/docs/team/shittake.md +++ b/docs/team/shittake.md @@ -0,0 +1,45 @@ +--- +Eric Leow's Project Portfolio Page +--- + +### Project: TrAcker + +TrAcker - TrAcker is a desktop event management application for NUS CS2040 Teaching Assitants (TA). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. + +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 a history command that allows the user to navigate to previous commands using up/down keys. + +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2223s2.github.io/tp-dashboard/?search=shittake&breakdown=true&sort=groupTitle&sortWithin=title&since=2023-02-17&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other) + +* **Project management**: + * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub + +* **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]()) + +* **Documentation**: + * User Guide: + * Added documentation for the features `delete` and `find` [\#72]() + * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() + * 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}_