diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 52d78ec0ab5..9008412d654 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -47,18 +47,18 @@ * [Remove dev from team command](#delete-developers-from-an-existing-team) * [Feature usage](#usage-8) * [Function implementation](#function-implementation-8) - * [Edit team name command](#) - * [Feature usage](#) - * [Function implementation](#) + * [Edit team name command](#Edit-team-name-of-an-existing-team) + * [Feature usage](#usage-9) + * [Function implementation](#function-implementation-9) * [Edit team leader command](#) - * [Feature usage](#) - * [Function implementation](#) - * [Find team command](#) - * [Feature usage](#) - * [Function implementation](#) - * [List team command](#list-teams) * [Feature usage](#usage-10) - * [Feature implementation](#function-implementation-10) + * [Function implementation](#function-implementation-10) + * [Find team command](#Find-Team-by-Keywords) + * [Feature usage](#usage-11) + * [Function implementation](#function-implementation-11) + * [List team command](#list-teams) + * [Feature usage](#usage-12) + * [Feature implementation](#function-implementation-12) * [Display tree command](#) * [Feature usage](#) * [Function implementation](#) @@ -300,34 +300,33 @@ LinkTree provides a feedback based on whether the operation was successful or no ### **Edit a developer** -The add developer feature is facilitated by the AddCommand. It extends `Command` class. - -The operations are exposed in the `Model` interface as `Model#addTeam()`. +The edit developer information feature is facilitated by the editCommand. It extends `Command` class. #### Usage -Given below is an example usage scenario and how the function behaves at each step. - -Step 1. The user launches the application and uses the `newteam` command and specifies a `teamname` and `teamLeader` name. - - - -Step 2. The user executes the `newteam` command `newteam tn/Team1 tl/John` to create a new team `Team1` with `John` set as team leader. - - - -Step 3. LinkTree provides a feedback based on whether the operation was successful or not. - - +- **Syntax**: `edit [DEVELOPER_INDEX] n/[NAME] p/[PHONE] e/[EMAIL] a/[ADDRESS] t/[TAG] ... t/[MORE_TAGS] ` +- **Example**: `edit 1 n/Peter` + - The first developer (with index 1) has changed his name to "Peter" -**Note:** If a command fails its execution, it will not call `Model#addTeam()`, so the `team` will not be saved to `TeamBook`. +**Note:** You do not need to provide the information fo the fields that +you do not want to change, which means if you only want to edit his name, +then providing new name is enough. #### Function Implementation -(Add basic implementation here) +- editCommandParser class parses the inputs and checks if the command format +is given correctly. It throws an exception if there is no change between the +original developer information and the new information. +- The `execute` method in editCommand class create a new person object +with original Identity code as the edited person and then checks if +this edited person already exists in the addressbook. It throws an exception if this is true. +- Upon successful execution of the `execute` method, a message is +displayed to the user confirming that changes have been made to the +developer. +
@@ -366,23 +365,23 @@ The list developers feature is facilitated by the ListCommand. It extends `Comma #### Usage Given below is an example usage scenario and how the function behaves at each step. -Case 1. The Ui is not displaying only the developer list, and uses the `list` command. In this case a list containing +Case 1. The Ui is not displaying only the developer list, and uses the `list` command. In this case a list containing only all existing developers but no teams will be displayed. -Case 2. The user has just used the `list` command, where the Ui is displaying the developer list already, and the user +Case 2. The user has just used the `list` command, where the Ui is displaying the developer list already, and the user uses `list` command again. The app will go back to displaying both lists of developers and teams. -**Note:** As long as the app is not displaying only the list of developers, the `list` command will toggle it to do so, +**Note:** As long as the app is not displaying only the list of developers, the `list` command will toggle it to do so, otherwise, the `list` command will toggle the app to display both lists of developers and teams. #### Function Implementation - ListCommand is executed. -- if the Ui is listing only developers already: MainWindow toggles the HBox containing both lists of developers and teams to -be visible; MainWindow toggles the HBox containing the list of teams to be invisible; Display both lists of developers +- if the Ui is listing only developers already: MainWindow toggles the HBox containing both lists of developers and teams to +be visible; MainWindow toggles the HBox containing the list of teams to be invisible; Display both lists of developers and teams; - else if the Ui is listing not only teams: MainWindow toggles the HBox containing the list of teams to be visible; MainWindow toggles the HBox containing any other lists to be invisible; Display only the list of all existing teams; @@ -515,7 +514,7 @@ The `deletedev` command implemented in the DeleteDeveloperFromTeam class, allows Given below is an example usage scenario and how the function behaves at each step. - **Command Syntax**: `deletedev tn/[TEAMNAME] n/[Developer name]` -- **Example**: `deletedev tn/Test Team 1 tl/Jason` +- **Example**: `deletedev tn/Test Team 1 n/Jason` - Deletes `Jason` from a team called `Test Team 1` LinkTree provides a feedback based on whether the operation was successful or not. @@ -538,36 +537,81 @@ LinkTree provides a feedback based on whether the operation was successful or no -### **List Teams** -The list teams feature is facilitated by the ListTeamCommand. It extends `Command` class. + + +### Edit team name of an existing team +The `editTeamName` command implemented in the editTeamNameCommand class, allows the users to edit the team name of an existing team in the teambook. +This editTeamNameCommand class extends the `Command` class in our implementation. #### Usage Given below is an example usage scenario and how the function behaves at each step. -Case 1. The Ui is not displaying only the team list, and uses the `listt` command. In this case a list containing -only all existing teams but not list of developers will be displayed. +- **Command Syntax**: `editTeamName tn/[ORIGINAL_TEAMNAME] tn/[NEW_Developer name]` +- **Example**: `editTeamName tn/Test Team 1 tn/Test Team 2` + - The team called `Test Team 1` is now changed its name to `Test Team 2`. -Case 2. The user has just used the `listt` command, where the Ui is displaying the team list already, and the user -uses `listt` command again. The app will go back to displaying both lists of developers and teams. +LinkTree provides a feedback based on whether the operation was successful or not. -**Note:** As long as the app is not displaying only the list of teams, the `listt` command will toggle it to do so, -otherwise, the `listt` command will toggle the app to display both lists of developers and teams. +**Note:** If a command fails its execution, its team name will remain unchanged. #### Function Implementation -- ListTeamCommand is executed. -- if the Ui is listing only teams already: MainWindow toggles the HBox containing both lists of developers and teams to - be visible; MainWindow toggles the HBox containing the list of teams to be invisible; Display both lists of developers - and teams; -- else if the Ui is listing not only teams: MainWindow toggles the HBox containing the list of teams to be visible; - MainWindow toggles the HBox containing any other lists to be invisible; Display only the list of all existing teams; - -
+- The `EditTeamNameCommandParser` class parses inputs from the users and checks if the command is in the correct format. An exception is thrown if there is any format mismatch. +- The `execute` method checks if the specified team name is valid and exists in the teambook. If no, an exception is thrown to indicate this. The `Model#hasTeam` does this check. +- The `execute` method also checks if the new team name exists in the teambook. If a team already has this new name, an error message is displayed to indicate this. The `Model#hasTeam` does this check. +- In addition, the `execute` method also checks if the new team name +is the same as the original team name.If they are the same, +the `excecute` method will throw an exception to indicate that scenario. +- If no exception is thrown, the team name will be changed. +- A message is displayed to the user to indicate that the team name is changed. The change can be seen immediately on the Team panel of the UI. + + + + + + + + + +### Edit team leader of an existing team +The `editTeamLeader` command implemented in the editTeamLeaderCommand class, allows the users to edit the team leader of an existing team in the teambook. +This editTeamLeaderCommand class extends the `Command` class in our implementation. + +#### Usage +Given below is an example usage scenario and how the function behaves at each step. + +- **Command Syntax**: `editTeamLeader tn/[ORIGINAL_TEAMNAME] tl/[NEW_Developer name]` +- **Example**: `editTeamLeader tn/Test Team 1 tl/Bob` + - The team called `Test Team 1` is now changed its leader to `Bob`. + +LinkTree provides a feedback based on whether the operation was successful or not. + + + +**Note:** If a command fails its execution, its team leader will remain unchanged. + + + +#### Function Implementation + +- The `EditTeamLeaderCommandParser` class parses inputs from the users and checks if the command is in the correct format. An exception is thrown if there is any format mismatch. +- The `execute` method checks if the specified team name is valid and exists in the teambook. If no, an exception is thrown to indicate this. The `Model#hasTeam` does this check. +- The `execute` method also checks if the new team leader exists in the addressbook. If this person does not exist, an error message is displayed to indicate this. The `Model#containsPerson` does this check. +- In addition, the `execute` method also checks if the new team leader + is the same as the original team leader.If they are the same, + the `excecute` method will throw an exception to indicate that scenario. +- If no exception is thrown, the team leader will be changed. +- A message is displayed to the user to indicate that the team name is changed. The change can be seen immediately on the Team panel of the UI. + + + + + ### Find Team by Keywords @@ -624,6 +668,81 @@ In designing the `findteam` command, two primary alternatives for matching team - **User Unfriendliness**: Requires exact input. + +### **List Teams** + +The list teams feature is facilitated by the ListTeamCommand. It extends `Command` class. + +#### Usage +Given below is an example usage scenario and how the function behaves at each step. + +Case 1. The Ui is not displaying only the team list, and uses the `listt` command. In this case a list containing +only all existing teams but not list of developers will be displayed. + +Case 2. The user has just used the `listt` command, where the Ui is displaying the team list already, and the user +uses `listt` command again. The app will go back to displaying both lists of developers and teams. + + + +**Note:** As long as the app is not displaying only the list of teams, the `listt` command will toggle it to do so, +otherwise, the `listt` command will toggle the app to display both lists of developers and teams. + + + +#### Function Implementation +- ListTeamCommand is executed. +- if the Ui is listing only teams already: MainWindow toggles the HBox containing both lists of developers and teams to + be visible; MainWindow toggles the HBox containing the list of teams to be invisible; Display both lists of developers + and teams; +- else if the Ui is listing not only teams: MainWindow toggles the HBox containing the list of teams to be visible; + MainWindow toggles the HBox containing any other lists to be invisible; Display only the list of all existing teams; + + +
+ + +### **Show Tree** + +The show tree feature is facilitated by the treeCommand. It extends `Command` class. + +#### Usage +Given below is an example usage scenario and how the function behaves at each step. + +Case 1. The Ui is not displaying the tree. Used `tree` command to show the tree. + +Case 2. The Ui is displaying the tree. Used `tree` command again to hide the tree. + + + +**Note:** +* Any additional words provided after the command will be ignored. +(e.g. entering `tree list delete 1 HAHAHA-1234` is equivalent to entering `tree`) +* The project name **cannot be edited** because our application is designed to hold + the contact information of all the developers in **one** software engineering project, + the naming of this project is not important since there is only one project, and + we do not need names to differentiate between different projects. +* The content in the tree **will not be updated in real time** because that requires + too much computer resources. Instead, the tree is **updated every time you show it**. + So, when you have some changes to the data, you should **hide the tree first if it is + shown**, and call command `tree` again to show the tree. Then your changes will be + reflected in the new tree. With that being said, if you enter command `tree` to + show LinkTree and make some changes to the data, your changes will not be reflected + in the current tree. You should hide the tree first and then call `tree` again to + obtain a new tree which will reflect the changes you made. +* Team names and team leaders' names may not be shown fully if they are too long. + You can refer back to the team list for their full names. + + + + +#### Function Implementation +- treeCommand is executed. +- if the Ui is not showing the tree: generate the tree and the tree will be shown in a new StackPane. +- else if the Ui is showing the tree: the StackPane will be hided and the tree is cleared. A new tree will +be generated next time showing the tree. + + +
-------------------------------------------------------------------------------------------------------------------- ## **Documentation, logging, testing, configuration, dev-ops** @@ -873,18 +992,18 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * **Tag-Based System**: A system in LinkTree that allows contacts to be tagged with specific roles or responsibilities, like "Database Management" or "Code Review". * **Public Profile**: A profile in the Team Directory visible to all users, containing non-sensitive information about a team or individual. * **Addressbook**: A file that stores the list of developers in the application. -* **TeamBook**: A file that stores the list of teams in the application. +* **TeamBook**: A file that stores the list of teams in the application. * **Prefix**: A keyword used before certain elements in a command to specify its type or category. * **Tag**: A label or keyword assigned to developers for categorization and easy identification. * **Tree**: A visual representation of the top-down project's structure, displaying teams and developers. -* **Index**: A numerical identifier assigned to developers or teams for reference. +* **Index**: A numerical identifier assigned to developers or teams for reference. * **FAQ**: Frequently Asked Questions which users can check out if needed. -------------------------------------------------------------------------------------------------------------------- ## **Appendix B: Instructions for manual testing** -This appendix provides guidance for testers to explore the +This appendix provides guidance for testers to explore the features of LinkTree efficiently. It highlights key test inputs and outlines the process for testing various functionalities. This information is supplementary to the @@ -932,7 +1051,7 @@ testers are expected to do more *exploratory* testing. -**Note:** +**Note:** * Phone numbers should only contain numbers, and it should be at least 3 digits long * Emails should be of the format local-part@domain and @@ -1075,7 +1194,7 @@ be at least 3 digits long * Teams matching at least one keyword will be returned (i.e. OR search). e.g. ‘Alpha Beta’ will return ‘Team Alpha’, ‘Team Beta’ - + - **Testing**: Use the command to search for teams by name. @@ -1137,7 +1256,7 @@ be at least 3 digits long **Note:** -* The command summary shown in the app will not display all commands, but only those that are more commonly used. +* The command summary shown in the app will not display all commands, but only those that are more commonly used. Please refer to our User Guide for a complete summary of commands. diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c511c51a6ad..2defce2742d 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -132,10 +132,10 @@ It will open a new help window, that shows all the commands in linktree. Linktree's GUI has been designed to be simple and user-friendly. This guide will mention some of these UI elements: 1. **Command Box**: You'll have to type the commands in this box. 2. **Result Display**: Based on the inputs given, your result will be displayed in this box. -3. **Help Button**: Type `help` into the command box, and you will see a help window pop up, giving you the link to +3. **Help Button**: Type `help` into the command box, and you will see a help window pop up, giving you the link to this UserGuide. The Result Display will also show a summary of commands. 4. **File Button**: Click the `File` button and then you will see a `exit` button to close the application. -5. **Developers Panel**: Lists all the existing developers (or a filtered list of developers after the `find` command, +5. **Developers Panel**: Lists all the existing developers (or a filtered list of developers after the `find` command, check out [find developer command](#find-developer) for more details). 6. **Teams Panel**: Lists all the teams (or a filtered list of developers after the `findteam` command, check out [find team command](#find-team) for more details). @@ -196,15 +196,15 @@ Click [here](#table-of-contents) to go back to contents. -------------------------------------------------------------------------------------------------------------------- -**The following commands are for managing developers.** +**The following commands are for managing developers.** ### Add command #### What this command does: * This command allows you to add a new developer to the addressbook. -#### Command format: +#### Command format: * `add n/[Developer Name] p/[Phone Number] e/[Email] a/[Address] (OPTIONAL r/[Remark] t/Tags)` - + #### Example usage: - For example, to add a new developer John to the addressboook, type `add n/John p/89789678 e/John@gmail.com a/Singapore t/friend`. @@ -264,7 +264,7 @@ Click [here](#table-of-contents) to go back to contents. `edit [Index number] n/[Name] p/[Phone] e/[Email] a/[Address] r/[Remark] t/[Tag]...` #### Example usage: -- For example, to edit a details of developer **John Wick**, firstly find the index number of **John Wick**. Then type +- For example, to edit a details of developer **John Wick**, firstly find the index number of **John Wick**. Then type `edit 1 n/John Wick e/new.email@example.com` to change John's name and email address. - In the following example, you can see that now index `1` has a new name `John Wick` and a new email address `new.email@example.com`. ![EditCommand](images/UG_images/EditCommand.png) @@ -297,21 +297,21 @@ Click [here](#table-of-contents) to go back to contents. * Only full words will be matched e.g. Han will not match Hans * Multiple developer names can also be given as paramaters. The program will display the developers that have those names. -#### Command Format: +#### Command Format: `find [Keyword1] ...` #### Example Usage: - For example, to find developers whose first or last name is **John**, type `find John`. - In the following example, you can see that there are 3 developers with their first name **John** in the list of developers. ![FindCommandUsing1Keyword](images/UG_images/FindCommand1.png) -- You can use `find` command with multiple keywords. For example, if you type `find alex david` you get all the developers +- You can use `find` command with multiple keywords. For example, if you type `find alex david` you get all the developers with first or last name being **Alex** or **David**. ![FindCommandUsingMultipleKeyword](images/UG_images/FindCommand2.png)
**:information_source: Note:**
-- The find command is designed to show only a list of developers. If you wish to view the team list again, you should use the `listt` command. +- The find command is designed to show only a list of developers. If you wish to view the team list again, you should use the `listt` command. - To display the complete list of developers, use the `list` command. If you need to list both at the same time, you can use the `list` command twice or the `listt` command twice to revert to the default state. - The search is case-insensitive. e.g hans will match Hans - The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans @@ -368,7 +368,7 @@ Click [here](#table-of-contents) to go back to contents. * `newteam tn/[TeamName] tl/[TeamLeader]` #### Example usage: -* For example, to add a new team with team name **Team Delta** and team leader **David Li**, +* For example, to add a new team with team name **Team Delta** and team leader **David Li**, type `newteam tn/Team Delta tl/David Li` * In the following example, you can see new team **Team Delta** is added to the team list. ![AddTeamCommand](images/UG_images/AddTeamCommand.png) @@ -376,7 +376,7 @@ type `newteam tn/Team Delta tl/David Li` Click [here](#table-of-contents) to go back to contents.
- + ### Add developers to team #### What this command does: * Helps to add existing developers in the addressbook to a team. @@ -423,7 +423,7 @@ Click [here](#table-of-contents) to go back to contents. #### Example usage: * For example: if you want to delete developer **John Lim** from **Team Bravo**. -* You need to type `deletedev tn/Team Bravo n/John Lim`, then the developer +* You need to type `deletedev tn/Team Bravo n/John Lim`, then the developer **John Lim** will be removed from **Team Bravo**. ![DeleteDevFromTeam](images/UG_images/DeleteDevFromTeam.png) @@ -439,8 +439,8 @@ Click [here](#table-of-contents) to go back to contents.
### Edit team name -#### What this command does: -* Takes a team name and a new name for the team. Changes team name if it doesn't already exist in the teambook. +#### What this command does: +* Takes a team name and a new name for the team. Changes team name if it doesn't already exist in the teambook. #### Command format: * `editTeamName tn/[Existing team name] tn/[New team name]` @@ -464,14 +464,14 @@ Click [here](#table-of-contents) to go back to contents. #### What this command does: * Edits the team leader of a team. -#### Command format: +#### Command format: * `editTeamLeader tn/[Team name] tl/[New Team leader]` -#### Example usage: +#### Example usage: - For example, if want to change the team leader of `Team Romeo` to `John Lim`, you need to type `editTeamLeader tn/Team Romeo tl/John Lim`. - Now, you will see that the team leader for `Team Romeo` has changed to `John Lim`. ![EditTeamLeaderCommand](images/UG_images/EditTeamLeaderCommand.png) - +
**:information_source: Note:**
@@ -486,14 +486,14 @@ Click [here](#table-of-contents) to go back to contents. #### What this command does: - Finds matching teams whose names contain any of the given keywords. -#### Command Format: +#### Command Format: * `findteam [Keyword1] ...` #### Example usage: - For example, type `findteam Alpha` to find all the teams with keyword **Alpha**. - In the following example, you can see that the matching results are **Team Alpha** and **Alpha Squad**. ![FindTeamCommand](images/UG_images/FindTeamCommnd.png) -- You can also use multiple keywords, for example type `findteam Bravo Charlie` which will show the all the teams +- You can also use multiple keywords, for example type `findteam Bravo Charlie` which will show the all the teams with keywords Bravo or Charlie. @@ -578,10 +578,10 @@ Click [here](#table-of-contents) to go back to contents. You can refer back to the team list for their full names.
-#### Command format: +#### Command format: * `tree` -#### Example usage: +#### Example usage: * Type `tree` and you will see a tree similar to the one shown below. ![TreeResultExample](images/UG_images/TreeResultExample.png) @@ -700,13 +700,13 @@ including Windows, Mac and Linux, and it runs on systems that support Java 11, s 4. **Refer to the user guide**: - Look for the section that explains the command's usage and syntax. It provide examples and detailed explanations. -5. **Ask for Help**: +5. **Ask for Help**: - If you've exhausted all other options and the command still isn't working, don't hesitate to seek help. Reach out to your us in email or Github for assistance. Describe the problem in detail, including the command you're using, the error messages received, and any relevant context. ##### Q: Why does Linktree not show all developers/teams in the database? -**A:** If not all customers or properties are appearing, it's likely due to certain commands like find, or findteam. +**A:** If not all customers or properties are appearing, it's likely due to certain commands like find, or findteam. 1. *If you wish to view the developer list, you should use the list command.* 2. *To display the complete list of teams, use the listt command.* 3. *If you need to list both at the same time, you can use the list command twice or the listt command twice to revert to the default state.* @@ -723,7 +723,7 @@ Its main function is personal communication management for supervisors. Unfortunately, if it's not there, recovering lost data is not possible. ##### Q: How do I uninstall Linktree? -**A:** To uninstall Linktree, simply delete the folder that contains `linktree.jar` +**A:** To uninstall Linktree, simply delete the folder that contains `linktree.jar` - no installation on the hard drive means no complex uninstallation process. ##### Q: Do I need to be online to use Linktree? @@ -828,10 +828,10 @@ Click [here](#table-of-contents) to go back to contents. | .jar | Java Archive - A file format used to package Java class files, associated metadata, and resources into a single archive file. It is a common format for distributing Java applications or libraries. | | Addressbook | A file that stores the list of developers in the application. | | Teambook | A file that stores the list of teams in the application. | -| Prefix | A keyword used before certain elements in a command to specify its type or category. | +| Prefix | A keyword used before certain elements in a command to specify its type or category. | | Tag | A label or keyword assigned to developers for categorization and easy identification. | | Tree | A visual representation of the top-down project's structure, displaying teams and developers. | -| Index | A numerical identifier assigned to developers or teams for reference. | +| Index | A numerical identifier assigned to developers or teams for reference. | | FAQ | Frequently Asked Questions which users can check out if needed. | Click [here](#table-of-contents) to go back to contents. diff --git a/docs/diagrams/EditTeamLeaderCommandDiagram.puml b/docs/diagrams/EditTeamLeaderCommandDiagram.puml new file mode 100644 index 00000000000..8d038c70d39 --- /dev/null +++ b/docs/diagrams/EditTeamLeaderCommandDiagram.puml @@ -0,0 +1,25 @@ +@startuml +skin rose + +start +:User executes `editTeamLeader` command; +:Parameters are parsed; +if() then ([parameters are invalid]) + :Display parse error msg; + else([else]) + if() then ([Teamname is invalid]) + :Display Invalid Team error msg; + else([Teamname is valid]) + if() then ([Developer does not exist]) + :Display Invalid Person error msg; + else([else])]) + if() then ([TeamLeader is not changed]) + :Display Not Edited error msg; + else([else])]) + :Team leader changed successfully; + endif + endif + endif + endif +stop +@enduml diff --git a/docs/diagrams/EditTeamNameCommandDiagram.puml b/docs/diagrams/EditTeamNameCommandDiagram.puml new file mode 100644 index 00000000000..0a2148fdc42 --- /dev/null +++ b/docs/diagrams/EditTeamNameCommandDiagram.puml @@ -0,0 +1,25 @@ +@startuml +skin rose + +start +:User executes `editTeamName` command; +:Parameters are parsed; +if() then ([parameters are invalid]) + :Display parse error msg; + else([else]) + if() then ([Target Teamname is invalid]) + :Display Invalid Team error msg; + else([Target Teamname is valid]) + if() then ([TeamName is not changed]) + :Display Not Edited error msg; + else([else])]) + if() then ([New Teamname already exist]) + :Display Duplicate Teamname error msg; + else([else])]) + :Team Name changed successfully; + endif + endif + endif + endif +stop +@enduml diff --git a/docs/diagrams/TreeCommandDiagram.puml b/docs/diagrams/TreeCommandDiagram.puml new file mode 100644 index 00000000000..bf4c3bb2023 --- /dev/null +++ b/docs/diagrams/TreeCommandDiagram.puml @@ -0,0 +1,16 @@ +@startuml +skin rose + +start +:User executes `tree` command; +:ListCommand is executed; +if() then ([the Ui is showing the tree already]) + :Generate the tree; + :Display tree in a StackPane; +else([the Ui is not showing the tree]) + :Clear the tree; + :Hide the StackPane; +endif +stop + +@enduml diff --git a/docs/team/adhigop13.md b/docs/team/adhigop13.md index 313c8035a81..185e9946d9a 100644 --- a/docs/team/adhigop13.md +++ b/docs/team/adhigop13.md @@ -7,7 +7,7 @@ ### Project: LinkTree LinkTree is the top contact solution for software professionals. -Using our unique tag-based system, access contacts by roles and responsibilities instantly. +Using our unique tag-based system, access contacts by roles and responsibilities instantly. With LinkTree, swiftly connect with the right stakeholders, ensuring smooth project execution and superior collaboration. Given below are my contributions to the project. diff --git a/docs/team/jizhuochen.md b/docs/team/jizhuochen.md index c3d50f0b7bf..334d010a26f 100644 --- a/docs/team/jizhuochen.md +++ b/docs/team/jizhuochen.md @@ -5,26 +5,26 @@ title: "Chen Jizhuo's Project Portfolio Page" ### Project: LinkTree -LinkTree is a CLI-based contact management solution for software professionals. -Using our unique tag-based system, access contacts by roles and responsibilities +LinkTree is a CLI-based contact management solution for software professionals. +Using our unique tag-based system, access contacts by roles and responsibilities instantly. With LinkTree, easily visualise the structure and team compositions, leaderships -of any software project, allowing you to instantly locate the target developer/ +of any software project, allowing you to instantly locate the target developer/ team that you are looking for in a sea of developers. Given below are my contributions to the project. -* **New Feature**: - * Allowing display of a list of teams in the current project, including the team names, +* **New Feature**: + * Allowing display of a list of teams in the current project, including the team names, leaders and team members (developers); * Constantly display the statistics (how many existing developers, and teams in the project) * Display of a summary of all commands when 'help' command is entered; * Addition of the remark feature which acts as a short bio for developers. - + * **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s1.github.io/tp-dashboard/?search=jizhuochen&breakdown=true) -* **Project management**: +* **Project management**: * Conducted regular checks and fixed style errors to maintain code quality; * Conducted regular checks and bug testing and provided constructive feedbacks for the team. @@ -50,7 +50,7 @@ Given below are my contributions to the project. * **Community**: * PRs reviewed (with non-trivial review comments) -- reviewed various PRs by team members. * Contributed to forum discussions. - * Reported bugs and suggestions for other teams in the class -- reviewed products of other team and provided + * Reported bugs and suggestions for other teams in the class -- reviewed products of other team and provided constructive feedbacks. * **Tools**: diff --git a/docs/team/stevenliudw.md b/docs/team/stevenliudw.md index 037a0254496..d5a872654b0 100644 --- a/docs/team/stevenliudw.md +++ b/docs/team/stevenliudw.md @@ -27,7 +27,7 @@ Given below are my contributions to the project. * User Guide: * Updated and refined the User Guide to include the new "Welcome", "Find", and "FindTeam" features. * Transformed the form of our previous User Guide draft and uploaded it to GitHub. - + * Developer Guide: * Added a new section detailing the storage architecture and its components. * Included diagrams and instructions to aid in understanding the storage system. diff --git a/docs/team/tang-moyan.md b/docs/team/tang-moyan.md index 08ba1533d61..782e3a98e9a 100644 --- a/docs/team/tang-moyan.md +++ b/docs/team/tang-moyan.md @@ -42,7 +42,7 @@ suggestions. * Developer Guide: * Updated the UMl diagrams for our modifications in the Logic component. ([\#117](https://github.com/AY2324S1-CS2103T-W11-4/tp/pull/117)) - + * Demo Video: * Fully responsible for the production of the demo video and update it if there are some changes to our application. @@ -58,5 +58,5 @@ an Identity code as an alternative. (examples [1](https://github.com/AY2324S1-CS * **Tools**: * Used PlantUML tool to design our diagrams in the developer guide. - * Used SceneBuilder to edit fxml files and make changes to our GUI. + * Used SceneBuilder to edit fxml files and make changes to our GUI.