From 2ce94f1e622369e9812b04936982999e69b2b6ed Mon Sep 17 00:00:00 2001 From: Jeff Sieu Date: Wed, 3 Nov 2021 21:52:58 +0800 Subject: [PATCH] Update PPP Jeff Sieu --- docs/team/jeffsieu.md | 77 +++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 40 deletions(-) diff --git a/docs/team/jeffsieu.md b/docs/team/jeffsieu.md index 5f2039d17a4..1ef1b135d42 100644 --- a/docs/team/jeffsieu.md +++ b/docs/team/jeffsieu.md @@ -3,43 +3,40 @@ layout: page title: Jeff Sieu's Project Portfolio Page --- - -## Technical skills - -Programming competencies: Java, JavaScript, Python, C/C++, HTML/CSS, Dart - -Technologies: ReactJS, Flutter - -## Work Experience - -NA (Enlisted in the RSAF) - -## Projects and Competitions - -#### [Multiverse](https://github.com/wlren/multiverse) - -- Co-developed an all-in-one NUS app as part of CP2106 Independent Software Development Project (Orbital 2020). - -#### [Stops](https://play.google.com/store/apps/details?id=com.jeffsieu.stops) - -- Simple, elegant Flutter app displaying live bus timings in Singapore. - -#### [txthlpr](https://jeffsieu.github.io/txthlpr/) - -- Web app to perform repetitive actions on a block of text - -#### [tzcharts](https://tzcharts.xyz/) - -- Web app to view information on tzTokens - -#### [quards](https://github.com/jeffsieu/quards) - -- Solitaire Flutter App - -#### Google Code-in 2017 - -- Grand Prize winner - -## Additional Information - -- Fluent in English, Chinese, Japanese and German (spoken and written) +## Project: TaskMaster2103 + +TaskMaster2103 is an extension to [AddressBook - Level 3](https://se-education.org/addressbook-level3/), a CLI-based address book JavaFX application. +It adds task-tracking functionalities to the base application, while boasting intuitive GUI features that complement the main CLI workflow. + +Given below are my contributions to the project. + +- **New feature**: Added the ability to filter tasks by tags (GUI: [`#57`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/57), CLI: [`#75`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/75), [#144](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/144)). + - What it does: allows the user to filter the main task list by certain conditions. + - Justification: the user may have many tasks; allowing a way to quickly narrow down the scope of displayed tasks is beneficial to efficiency. + - Highlights: filters are implemented as abstract classes to allow for extensibility (e.g., filter by date range). +- **New feature**: Added a GUI dialog interface to create/edit tasks ([`#86`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/86), [`#179`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/179), [`#185`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/185)). + - What it does: allows the user to create/edit tasks using a graphical interface + - Justification: the CLI version of the interaction requires all fields of the editied task to be specified of the task. The GUI allows the user the edit a single field without having to re-specify other existing fields. + - Highlights: All GUI interactions route their logic in the same way as a CLI command, reducing the need for repeated code. +- **Code reorganization**: Overhauled the command parsing logic for **more robust and extensible command handling** ([`#175`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/175)). New commands can be easily added, command format errors are more succinct. The help window and usage messages are also automatically generated. + - What it does: parses all instances of `abc/def` as a command argument with prefix `abc/` and value `def`. + This is to prevent unexpected behaviour with the base application, where `/` was used in all prefixes but could also be present in data values. + - Justification: Outdated usage messages were common as they were hard-coded strings. Commands knew nothing about their syntax, and handled arguments individually. This caused lots of logic repetition and room for error. + - Highlights: To solve this, ***every command and command parser*** had to be refactored to include information about every parameter accepted, and their *multiplicity* (optional or not, can accept multiple or not). Once this was done, however, it allowed for many useful abstractions like auto-generation of command usage message, and detailed error messages that tell the user how exactly the format is wrong. +- **Code contributed**: [RepoSense link](https://nus-cs2103-ay2122s1.github.io/tp-dashboard/?search=&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&tabAuthor=jeffsieu&tabRepo=AY2122S1-CS2103-F09-2%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false) +- **Enhancement to existing features** + - Rethemed the GUI to have a more uniform aesthetic [`#179`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/179). + - Update help window [`#184`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/184) + - Slash to focus on command input [`#56`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/56) + +- **Testing** + - Added test cases for task-related commands. [`#58`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/58) + +- **Documentation** + - Added `task add`, `task edit` and `task delete` use cases in [`#32`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/32) + - Added `task filter` in Developer Guide [`#71`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/71), [`#77`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/77) + +- **GUI** + - Added GUI task list with checkboxes in [`#40`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/40), [`#51`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/51), [`#57`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/57) +- Community: + - PRs reviewed (with non-trivial comments):[`#44`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/44)[`#70`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/70), [`#89`](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/89)