Skip to content

Commit

Permalink
Merge pull request #195 from wlren/branch-doc-1.4
Browse files Browse the repository at this point in the history
Update Ui.png
  • Loading branch information
jeffsieu authored Nov 5, 2021
2 parents d733c65 + f7ee694 commit 7befe2f
Show file tree
Hide file tree
Showing 9 changed files with 54 additions and 83 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For **contributing to the project**:

## About Us

Please refer to the [About Us](https://github.com/AY2122S1-CS2103-F09-2/tp/blob/master/docs/AboutUs.md) document.
Please refer to the [About Us](https://github.com/AY2122S1-CS2103-F09-2/tp/blob/master/docs/AboutUs.md) document.

## User Guide

Expand Down
2 changes: 1 addition & 1 deletion docs/AboutUs.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: page
title: About Us
---

We are a team of five based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg).
We are a team of five students based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg).
We hope to build upon the functionalities of AB3 and make it something unique and meaningful!

For any inquiries, please reach out to us at the email `[email protected]`
Expand Down
26 changes: 13 additions & 13 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,14 +163,14 @@ This section describes some noteworthy details on how certain features are imple

#### Current Implementation

The task editing mechanism is done almost entirely within `EditTaskCommand` and the `EditTaskCommandParser` objects within the `Logic` component.
The task editing mechanism is done almost entirely within `EditTaskCommand` and the `EditTaskCommandParser` objects within the `Logic` component.
Each edit is represented by an `EditTaskDescriptor` object, which contains the new value(s) to edit the data in the current task to.

#### Example usage of `task edit`

Step 1: The user adds a task to the task list.

Step 2: The user types in the command `task edit 1 d\Example description` (suppose this string is called `s`)
Step 2: The user types in the command `task edit 1 d\Example description` (suppose this string is called `s`)
The `GUI` parses and executes `s` by passing it to the `Logic` component, as seen below.

![Sequence diagram](http://www.plantuml.com/plantuml/png/TLDDZzem4BtxLupI2-nk_m27Qlc8gggWea9FHK9kF4ij4XlP3cN_VSUEumJlBXVicJTltZnFdgtZnhLDpNZhDA-Sl7A7e1NxeszGhFL9LWLyMilJNxUeMsGNWijANhXoKCn2ViCLFw4fW5jORpB4N0Y3rYwqFc-viH4sNsmpt9xRyr8t3LTYXDilSrmff7iVMxu12xHLAbZHnSYBqnqQnJssqfVNZx0-Tu_6N4V0vUx4t4-qRUq2meGZGoM0_EqytcY1DNcybUgS4SGK5MQs8dL7uVi7um9ae6M_Ft-Xbu0Pu0shrk74JXdTAKh6KvYuB1vKrEUpp2SeJnx2myECfKtmfXfqhL4ZJEAOS7Dg6rIEA7oOicL70IEESaIIezxoq4zfluDNDFwPVgZw5Rg1uShh5kr1SODWqO5Ku1yvJEwBMDQqZErGP99GH46XVenxV9nvwdu5f5O7DIdA6sykDO8OmiKq6PFAkv4K_eD-FvBBn2ALmDjJu9YEf8pd3QksmXTKLbunN46_X1Ae319U3CCYzGoGzzhw0S8AJx9-lY0gxywKTqPxZraVntH8sVY8MVGk67SCHuitPTY7eluohIuvukXlhtteAMY9S4S33O9Tx90Q9OOa8ypHrMuWl9zFZ-b7LTEUA5Pq7-NWuTrdIo8tvMut_reUozMt_V6WzlFTz-Fkrt99uS7Mo999ZS7aS9z-HYNQfluF)
Expand All @@ -192,7 +192,7 @@ where the `get` methods return `Optional<T>` objects containing the value to be

`EditTaskDescriptor` also has:
1. A constructor which accepts another `EditTaskDescriptor`, which creates a defensive copy of the original, called solely within the constructor of `EditTaskCommand`.
2. A `isAnyFieldEdited` method to facilitate error handling when the user does not provide any arguments to the command.
2. A `isAnyFieldEdited` method to facilitate error handling when the user does not provide any arguments to the command.

### Delete Feature

Expand Down Expand Up @@ -227,11 +227,11 @@ state. A simple description of the stack can be seen below:
Stack when commands are executed:
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand2 <-> null
^current
Stack when a single undo is called
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand2 <-> null
^current
Stack after adding a command to the above state
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand2 <-> DeleteCommand3 <-> null
Expand All @@ -243,7 +243,7 @@ null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand2 <-> DeleteCommand3
1. User launches TaskMaster2103 and a new `CommandHistory` object is initialised in `Model`.
2. User invokes any valid command into TaskMaster2103 that successfully gets executed.
3. The successfully invoked command gets stored in the `CommandHistory` stack through `LogicManager`.
4. The user can now invoke `undo`, and when the user does so, the top-most `Command` in `CommandHistory`
4. The user can now invoke `undo`, and when the user does so, the top-most `Command` in `CommandHistory`
will be returned.
5. The top-most `Command` that was returned with have its `undo()` method executed.
6. The `undo()` method mutates `Model` to restore the state before the initial execution of the command.
Expand All @@ -265,8 +265,8 @@ Each `Command` will have a different way of implementing `undo()`, depending on
2. GUI View Commands:

- Find/Sort/Filter: Restores the previous `Predicate` or `List<Filters>` that was in the `FilteredList`


### Redo feature

#### Current Implementation
Expand All @@ -282,15 +282,15 @@ state. A simple description of the stack with redo and undo actions can be seen
Stack when commands are executed:
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand3 <-> null
^current
Stack when two undo commands are called
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand3 <-> null
^current
Stack after a single redo command is called
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand3 <-> null
^current
Stack after adding a command to the above state
null <-> DeleteCommand1 <-> DeleteCommand2 <-> DeleteCommand3 <-> DeleteCommand4 <-> null
Expand Down Expand Up @@ -324,7 +324,7 @@ Input history works similar to a terminal, where the up and down arrow keys can
#### Current implementation

The Input History feature uses a doubly linked list to store the string commands in the stack, and the up and down arrow
keys allow for traversing and returning the previous and next command respectively.
keys allow for traversing and returning the previous and next command respectively.

#### Example usage

Expand Down Expand Up @@ -404,7 +404,7 @@ Deleting tasks may cause associated tags to be deleted from the entire task list

##### Finding tasks

Searching for tasks using a series of keywords also involves adding a `TaskFilter` to the `ModelManager`, but in this case it is needed to check whether an existing `TaskFilter` corresponding to a previous keyword search is still present. If so, this previous filter is removed and replaced with a new filter. This `TaskFilter` should be unique in the set regardless of the keywords that are being searched for. This is implemented via a `KeywordTaskFilter` which extends `TaskFilter`. The `FindTaskCommand` will first remove the previous instance of `KeywordTaskFilter` before adding the new instance into `ModelManager`.
Searching for tasks using a series of keywords also involves adding a `TaskFilter` to the `ModelManager`, but in this case it is needed to check whether an existing `TaskFilter` corresponding to a previous keyword search is still present. If so, this previous filter is removed and replaced with a new filter. This `TaskFilter` should be unique in the set regardless of the keywords that are being searched for. This is implemented via a `KeywordTaskFilter` which extends `TaskFilter`. The `FindTaskCommand` will first remove the previous instance of `KeywordTaskFilter` before adding the new instance into `ModelManager`.

![Activity diagram showing the task filter list's update when searching tasks with a keyword](images/FindTaskUpdateKeywordTaskFilterActivityDiagram.png)

Expand Down
21 changes: 11 additions & 10 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ layout: page
title: User Guide
---

# User Guide V1.3
# TaskMaster2103 V1.4

TaskMaster2103 V1.3 is a desktop app for students to manage their tasks and contacts, optimized for
use via a CLI while still having the benefits of a GUI.
TaskMaster2103 V1.4 is a desktop app for students to manage their tasks and contacts, optimized for
use via a CLI while still having the benefits of a GUI option if needed.

## Table of Contents

Expand All @@ -15,6 +15,7 @@ use via a CLI while still having the benefits of a GUI.
1. [Address Book Commands](#ab3comm)
2. [Task List Commands](#tasklistcomm)
3. [Other Shortcuts/Commands](#shortcuts)
4. [GUI Guide](#gui)
3. [FAQ](#faq)
4. [Command Summary](#commandsummary)

Expand Down Expand Up @@ -71,12 +72,12 @@ use via a CLI while still having the benefits of a GUI.
e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.

- Parameters must be provided exactly.

- Each parameter is expected only once in the command. If you specified it multiple times,
an error message will be shown.

- If an extraneous parameter is specified, an error message will be shown. (Does not apply for tags or contacts)

- Parameter or argument values cannot contain the character `/`. An error message will be shown if `/` is present in the argument value. For example, `task add 1/2` is invalid, and can be replaced with valid alternatives such as `task add 1 or 2` instead.

</div>
Expand Down Expand Up @@ -313,7 +314,7 @@ Redo the previous command, returning the user back to the previous state, up to

Format: `redo`

This command can also be invoked through using the shortcut `CTRL + Y` or `CMD + Y` or `CTRL + SHIFT + Z`
This command can also be invoked through using the shortcut `CTRL + Y` or `CMD + Y` or `CTRL + SHIFT + Z`
or `CMD + SHIFT + Z`.


Expand Down Expand Up @@ -346,7 +347,7 @@ If your changes to the data file makes its format invalid, TaskMaster will disca
</div>

---

<a name="gui"></a>
## Using the GUI

The following image shows an example of the main menu. The task list is shown on the left of the app, while the address book is shown on the right.
Expand All @@ -355,8 +356,8 @@ The following image shows an example of the main menu. The task list is shown on

### 1. CLI

- A Command Line Interface is provided for users to type commands.
- If not focused on the CLI, pressing the `/` key will allow the user to focus on the text box and immediately begin typing.
- A Command Line Interface is provided for users to type commands.
- If not focused on the CLI, pressing the `/` key will allow the user to focus on the text box and immediately begin typing.
- To retrieve previously typed commands, you may see "Retrieving previous commands" in the "Other Shortcuts/Commands" section above.

### 2. Filter Dropdown
Expand Down
Binary file modified docs/images/Ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/helpMessage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ For detailed documentation on the project, please visit the [TaskMaster2103 prod

Prerequisites: JDK11, Gradle

For **running the application**: Head to our [releases](https://github.com/AY2122S1-CS2103-F09-2/tp/releases) page and grab the latest `.jar` file.
For **running the application**: Head to our [releases](https://github.com/AY2122S1-CS2103-F09-2/tp/releases) page and download the latest `.jar` file.

For **contributing to the project**:

Expand Down
52 changes: 11 additions & 41 deletions docs/team/wlren.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,17 @@
layout: page
title: Ren Weilin's Project Portfolio Page
---
## Project: TaskMaster2103

## Technical skills
TaskMaster2103 is an extension to [AddressBook - Level 3](https://se-education.org/addressbook-level3/), a CLI-based address book JavaFX application.
It adds extensive task-tracking functionalities to the base application, and has seamless GUI integration that complement the main CLI commands.

Programming competencies: Java, Dart, Python, C#, HTML/CSS, JavaScript, PHP
Given below are my contributions to the project.

Technologies: Flutter, Unity, AWS (Cloud Practitioner certified)

## Work Experience

#### Game Development Intern, Rock Nano Global

- Designed and implemented various components of 3D game with C# and Unity Editor, including inventory and mission systems, greatly enhancing game experience
- Collaborated closely with cross-functioning team including art, game design, technology and QA to ensure smooth transition of project from pre-production to production status
- Resolved numerous bugs and JIRA tasks, including a bug which caused development backlog, improved development speed


## Projects and Competitions

#### [Multiverse](https://github.com/wlren/multiverse)
- Attained highest level of “Artemis” (top 8% in cohort of 700) in CP2106 Independent Software
Development Project

- Identified poor UX in NUS Campus related applications and designed a solution of a mobile
application which integrates 4 campus applications under a single dashboard

- Co-built android application using Flutter and Firebase, with emphasis on proper Software
Development Life Cycle, using Mockito as unit testing library

#### Bovine Identification

- Developed a livestock identification algorithm that accurately identifies specific cattle based on
muzzle photos with Python and OpenCV, as a solution for livestock insurance
- Achieved accuracy of 93.3% of matching muzzle photos to individual cattle
- Awarded $10000 of funding by the I&E Practicum@SoC to pursue project as a start-up

#### [TrailMix](https://github.com/wlren/trailmix)

- Developed Flutter application with Google Map APIs to guide user through key attractions in
Sungei Buloh Wetland Reserve
- Attained app rating of 5/5 stars on Google Play Store across all reviews.

## Additional Information

Fluent in English, Chinese (spoken and written)
- **New Feature**: Added time stamp validation to tasks
- **Enhancement to existing features**:
- **Testing**:
- **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=wlren&tabRepo=AY2122S1-CS2103-F09-2%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false)
- **Documentation**:
- **Project management**:
- **Community**:
32 changes: 16 additions & 16 deletions docs/team/yeppog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,58 +6,58 @@ title: Jonathan Lee's Project Portfolio Page
## Project: TaskMaster2103

TaskMaster2103 is an extension to [AddressBook- Level3](https://se-education.org/addressbook-level3/)
, a CLI-based address book JavaFX application. It adds on task tracking functionalities and allowing for a hybrid
, a CLI-based address book JavaFX application. It adds on task tracking functionalities and allowing for a hybrid
GUI and CLI usage of the application.

Below are my contributions to the project.

- **New Feature**: Added undo/redo functionality to the application (undo:
[#70](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/70),
- **New Feature**: Added undo/redo functionality to the application (undo:
[#70](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/70),
redo: [#100](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/100))

- What it does: allows the user to navigate back and forth through their commands executed, allowing them to be undone or redone.

- Justification: every application that has command capabilities that alter the state of the app should have an undo
or redo functionality to rectify errors that could have been made. This speeds up the overall usage of the app.

- Highlights: the feature can be accessed through CLI or simply using familiar shortcuts such as `Ctrl/CMD + Z` for
**undo**, and `Ctrl/CMD + Shift + Z` or `Ctrl/CMD + Y` for **redo**.

- **New Feature**: Added command history to the application [#79](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/79)

- What it does: allows the user to toggle through their previously executed commands.

- Justification: to align with a true CLI interface, this function is built innately in most terminals and we wanted
to give the same feel to the CLI users of the application. Users who chose CLI are likely to be more comfortable with
terminal environments and it only feels right to have this feature in.

- Highlights: Pressing up cycles through previous commands, and pressing down cycles through the preceeding commands.
The feature also keeps track of whatever one has currently typed. Pressing up or down after typing something that
has not been executed stores the typed command down, and can be accessed simply by pressing down to the very last
command.

- **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=yeppog&tabRepo=AY2122S1-CS2103-F09-2%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code&authorshipIsBinaryFileTypeChecked=false)]

- **Enhancements to existing features**: Improved the preliminary design of the help window.

- What it does: Revamp the help window to contain information on the commands that can be viewed without the User Guide.

- Justification: The application is intended to be used without an internet connection, and users may not be able to
access the hosted User Guide. The help window should be able to display command information without an internet
connection.

- Highlights: also added a hyperlink to the hosted User Guide that opens the browser, to prevent unneccesary copy
pasting of the guide link.

- **Testing**: Added test cases for respective commands or features that were added by myself.

- **Documentation**:
- **Documentation**:

- Add documentation for `undo`, `redo` and **Command History** in the User Guide.

- Add documentation for `undo`, `redo` and **Command History** in the Developer Guide, together with
Activity Diagrams.

- **Community**:

- PRs reviewed (non-trivial) [#86](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/86), [#188](https://github.com/AY2122S1-CS2103-F09-2/tp/pull/188)
Expand Down

0 comments on commit 7befe2f

Please sign in to comment.