From 5dffb67c41d4617eb01c6b8c83a18f1fb2b92577 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Thu, 9 Nov 2023 23:56:36 +0800 Subject: [PATCH 01/15] Update UserGuide.md --- docs/UserGuide.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index cd6727d4a58..371dfa05e03 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -4,15 +4,16 @@ title: User Guide --- HR Insight is a **desktop app for HR people, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). -The _purpose_ of this application is to provide **HR employees** a _central database_ to better manage their employees' details and **improve the +The _purpose_ of this app is to provide **HR employees** a _centralized employee management system_ to better manage their employees' details and **improve the efficiency** of their workflow. HR Insight proves to be a particularly valuable tool for professionals specializing in the domains of _Employee Benefits_, _Employee Engagement_ and _Administration_. -- _Employee Benefits_ in terms of keeping count of leaves and claims. -- _Employee Engagement_ in terms of tracking employee's birthday. -- _Administration_ in terms of keeping record of employee's details. +- _Employee Benefits_ in terms of keeping count of employees' leaves and claims. +- _Employee Engagement_ in terms of tracking employees' birthday. +- _Administration_ in terms of keeping record of employees' details. +--- - Table of Contents {:toc} From f67858b9f44ef97dc3f7ccaa48331f42de7910d5 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 00:22:17 +0800 Subject: [PATCH 02/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 104 ++++++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 48 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 5ad9bed58fc..643c008c461 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -10,13 +10,15 @@ title: Developer Guide ## **Acknowledgements** -* {list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} +- This project is adapted from [AddressBook 3 (AB3)](https://github.com/se-edu/addressbook-level3) +- Libraries used: [JavaFX](https://openjfx.io/) and [JUnit5](https://github.com/junit-team/junit5) +- HR Insight logo is obtained from [Vecteezy](https://www.vecteezy.com/vector-art/4702848-abstract-letter-hr-logo-isolated-on-white-background) -------------------------------------------------------------------------------------------------------------------- ## **About this Developer Guide** -This guides aims to: +This guide aims to: 1. Provide developers with a brief overview of the design architecture of our product. 2. Explain some design considerations in the development of the application. 3. Provide interested developers with documentation to continue development of our product. @@ -166,7 +168,7 @@ This section describes some noteworthy details on how certain features are imple ### Undo/redo feature -#### Proposed Implementation +#### Implementation The implementation involves creating an `AddressBookList` class which extends from `ArrayList` to store the history of `AddressBook`. `AddressBookList` also stores an integer `index` as a pointer to the current `AddressBook` and an `ArrayList` of commands input by the user called `pastCommands`. @@ -792,139 +794,145 @@ testers are expected to do more *exploratory* testing. ### Adding an employee -1. Positive Test case: `add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01` +1. Positive Test case: `add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01`
Expected: An employee added with name `adam`, phone `12345678`, email `adam@gmail.com`, address `Singapore`, salary `10000`, claim budget: `5000`, department: `Engineering` and DOB being `1 Jan 2000`. -2. Negative Test case: `add n/Adam` +2. Negative Test case: `add n/Adam`
Expected: Error message since other attributes like `phone`, `email`, `address`, `salary`, `claim_budget`, `department` and `DOB` are not provided. ### Listing an employee -1. Positive Test Case: `list` +1. Positive Test Case: `list`
Expected: Listed all employees (7) -2. Positive Test Case: `list d/Engineering` +2. Positive Test Case: `list d/Engineering`
Expected: Listed filtered employees (3) -### Delete an employee +### Deleting an employee -1. Positive Test Case: `delete 1` +1. Positive Test Case: `delete 1`
Expected: First employee is deleted from the list. -2. Negative Test Case: `delete` +2. Negative Test Case: `delete`
Expected: Error message since index is provided. -### Edit an employee +### Editing an employee -1. Positive Test Case: `edit 1 p/23423423 e/barry@example.com` +1. Positive Test Case: `edit 1 p/23423423 e/barry@example.com`
Expected: Edited the first employee with a new phone number of `23423423` and new email of `barry@example.com`. -2. Negative Test Case: `edit` +2. Negative Test Case: `edit`
Expected: Error message since user didn't provide any field that he/she hopes to edit. -### Find an employee +### Finding an employee -1. Positive Test Case: `find Alex` +1. Positive Test Case: `find Alex`
Expected: Employees with the name of `Alex` will be displayed. -2. Negative Test Case: `find` +2. Negative Test Case: `find`
Expected: Error message since keyword is not provided. -### Clear +### Clearing the employee list -1. Positive Test Case: `clear` +1. Positive Test Case: `clear`
Expected: There will no longer be any employee's data left in the application. -### Claim +2. Negative Test Case: `clear asdf`
+ Expected: Error message of `clear` command should not have any arguments. + +### Updating an employee's claim budget Prerequisites: The first employee has a claim budget of over > $500. -1. Positive Test Case: `claim 1 $/-500` +1. Positive Test Case: `claim 1 $/-500`
Expected: The first employee will have his/her `claim budget` successfully deducted and will display the new remaining amount. -2. Negative Test Case: `claim 1 $/500` +2. Negative Test Case: `claim 1 $/500`
Expected: Error message since '+/-' was not provided before the amount, resulting in confusion on whether it is claim/allocation of funds. -### Adding of leave +### Adding an employee's leaves -1. Positive Test Case: `leave 1 m/3` +1. Positive Test Case: `leave 1 m/3`
Expected: First employee in the list will have the month `March` in his/her leave attribute. -2. Negative Test CaseL `leave 1` +2. Negative Test Case: `leave 1`
Expected: Error message since the `MONTHS` parameter was not provided. -### Viewing of leave +### Viewing an employee's leaves -1. Positive Test Case: `view_leave m/10 d/IT` +1. Positive Test Case: `view_leave m/10 d/IT`
Expected: Employees who belong to the IT department and have taken leave in the month of October will be displayed. -2. Positive Test Case: `view_leave` +2. Positive Test Case: `view_leave`
Expected: Employees who have taken leave in the current month (Month in which you are accessing HR Insight) will be displayed. -### Resetting of Leaves +### Resetting all employees' leaves -1. Positive Test Case: `reset_leaves` +1. Positive Test Case: `reset_leaves`
Expected: All employees will no longer have any recorded leaves. +2. Negative Test Case: `reset_leaves asdf`
+ Expected: Error message of `reset_leaves` command should not have any arguments. + ### Viewing of employees' birthday -1. Positive Test Case: `birthday m/10` +1. Positive Test Case: `birthday m/10`
Expected: Employees who have birthday in the month of October will be displayed. -2. Negative Test Case: `birthday m/69` +2. Negative Test Case: `birthday m/69`
Expected: Error message since 69 is not a valid month. ### Viewing of employee's details -1. Positive Test Case: `view p/1,3,5` +1. Positive Test Case: `view p/1,3,5`
Expected: Phone numbers of the first, third and fifth employee in the list will be displayed. -2. Negative Test Case: `view` +2. Negative Test Case: `view`
Expected: Error message since attribute parameter was not provided. ### Sorting the employee list -1. Positive Test Case: `sort name` +1. Positive Test Case: `sort name`
Expected: Employees in the list will have their names sorted ascending. -2. Negative Test Case: `sort` +2. Negative Test Case: `sort`
Expected: Error message since parameter is not provided. -### Undo +### Undoing previous commands -1. Undo a command when there is a command that modified the employee list previously. (Example: `Delete 1`) - 1. Positive Test Case: `undo` +1. Undo a command when there is a command that modified the employee list previously. (Example: `delete 1`) + - Positive Test Case: `undo`
Expected: Restore the employee's details that was previously deleted, which in this case was employee 1. 2. Undo a command when there is no command that modified the internship book previously. - 1. Negative Test Case: `undo` + - Negative Test Case: `undo`
Expected: Error message since no command was executed prior. -### Redo +### Redoing previous undone commands 1. Redo a command when there is a command to redo. - Prerequisites: Executes any command that modifies the employee list, followed by undo command. (Example: `Delete 1` then `undo`) - 1. Positive Test Case: `redo` + Prerequisites: Executes any command that modifies the employee list, followed by undo command. (Example: `delete 1` then `undo`) + 1. Positive Test Case: `redo`
Expected: Delete the first employee in the list again. -2. Redo a command when there is no command to redo. - 1. Negative Test Case: `redo` +2. Redo a command when there is no command to redo. You cannot redo your most recent undone command if, after your last `undo`, you execute another command(s) that modifies the employee list. + 1. Negative Test Case: `redo`
Expected: Error message since no command available to redo. ### Exporting employee's details -1. Positive Test Case: `export all_hands` +1. Positive Test Case: `export all_hands`
Expected: A CSV file with name `all_hands` will be produced in the `Exported_CSVs` folder with attributes for all employees. -2. Negative Test Case: `export` +2. Negative Test Case: `export`
Expected: Error message since no `file_name` parameter is provided. ### Changing the Application Theme -1. Positive Test Case: `theme light` +1. Positive Test Case: `theme light`
Expected: GUI to change from black background color to white background color. The text is also expected to change from white to black. -2. Negative Test Case: `theme pink` +2. Negative Test Case: `theme pink`
Expected: Error message since pink is not part of the correct `THEME_NAME` parameter. ## **Appendix C: Planned Enhancements** From ad53b8e4f817c9a9d0a62b175f38f55693d06903 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 00:23:11 +0800 Subject: [PATCH 03/15] Update UserGuide.md --- docs/UserGuide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 371dfa05e03..af8393d7324 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -65,9 +65,9 @@ HR Insight proves to be a particularly valuable tool for professionals specializ - `sort phone` : Sorts employees based on their phone numbers in ascending order. - - `undo` : Undo the most recent command that modified the employee list. + - `undo` : Undo the most recent commands that modified the employee list. - - `redo` : Redo the most recent command that was undone. + - `redo` : Redo the most recent commands that was undone. - `export all_employee` : Exports employees' data into csv with filename of all_employee.csv. @@ -359,9 +359,9 @@ Executing command: `sort name desc` ![SortNamesBeforeAfter](images/SortNames.png) -### Undoing previous command: `undo` +### Undoing previous commands: `undo` -Undo the most recent command that modified the employee list, i.e., `add`, `edit`, `delete`, `leave`, `clear`, `sort`, `redo` commands. +Undo the most recent commands that modified the employee list, i.e., `add`, `edit`, `delete`, `leave`, `clear`, `sort`, `redo` commands. Format: `undo` @@ -369,9 +369,9 @@ Executing command: `undo` ![UndoBeforeAfter](images/UndoDelete.png) -### Redoing previous undone command: `redo` +### Redoing previous undone commands: `redo` -Redo the most recent command that was undone. +Redo the most recent commands that was undone. Format: `redo` From 5d9fb705395f0cfe136def4944658c1a6e725fe4 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 00:25:34 +0800 Subject: [PATCH 04/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 643c008c461..c5bac747830 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -912,11 +912,11 @@ Prerequisites: The first employee has a claim budget of over > $500. 1. Redo a command when there is a command to redo. Prerequisites: Executes any command that modifies the employee list, followed by undo command. (Example: `delete 1` then `undo`) - 1. Positive Test Case: `redo`
+ - Positive Test Case: `redo`
Expected: Delete the first employee in the list again. 2. Redo a command when there is no command to redo. You cannot redo your most recent undone command if, after your last `undo`, you execute another command(s) that modifies the employee list. - 1. Negative Test Case: `redo`
+ - Negative Test Case: `redo`
Expected: Error message since no command available to redo. ### Exporting employee's details From 0827105151f50589473c6548d59b734ea9dfb0aa Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 00:28:46 +0800 Subject: [PATCH 05/15] Update UserGuide.md --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index af8393d7324..3b286633f0b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -47,7 +47,7 @@ HR Insight proves to be a particularly valuable tool for professionals specializ - `edit 1 p/1234567` : Edits phone attribute for the 1st employee in the list. - - `find` : Finds employees whose names contain any of the given keywords. + - `find` : Finds employees whose names match any of the given keywords. - `clear` : Deletes all employees from the database. @@ -195,7 +195,7 @@ Executing command: `edit 1 p/23423423 e/barry@example.com` ### Finding employees by name: `find` -Finds employees whose names contain any of the given keywords. +Finds employees whose names match any of the given keywords. Format: `find KEYWORD [MORE_KEYWORDS]` From 835041a157e99c43ac638ce36d37bd7e7d2a11e0 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 01:03:35 +0800 Subject: [PATCH 06/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 149 +++++++++++++++++++++++++++-------------- 1 file changed, 99 insertions(+), 50 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index c5bac747830..0dfd3083964 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -404,13 +404,13 @@ The sequence diagram below shows how the `theme` commands execute: **Target user profile**: -* for HR people to manage employee data in the company, including employees' claims and leaves +* for HR people to manage employees data in the company, including employees' claims and leaves * prefer desktop apps over other types * can type fast * prefers typing to mouse interactions * is reasonably comfortable using CLI apps -**Value proposition**: Provide a platform for Startup HR workers without a solid employee data management system. +**Value proposition**: Provide HR employees a centralized employee management system to better manage employees’ details and improve the efficiency of their workflow. ### User stories @@ -418,26 +418,26 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | -| `* * *` | HR employee | add all employee's information | manage all employee's information. | +| `* * *` | HR employee | add an employee's information | manage all employee's information. | | `* * *` | HR employee | update an employee's information | have the latest information on the employee. | | `* * *` | HR employee | delete an employee's information | do not waste storage on retired/resigned employees. | -| `* * *` | HR employee | list all my employees | can keep track of the company/department's headcount. | -| `* * *` | HR employee | process employee's outstanding claims | can either subtract or add to an employee's entitlement fund. | -| `* * *` | HR employee | have an overview on the annual leave of each employee | can identify which employee needs to start clearing their annual leave days. | -| `* * *` | HR employee | add an employee's planned leave dates | keep track of the months that have the lowest manpower. | +| `* * *` | HR employee | list all employees | can keep track of the company/department's headcount. | +| `* * *` | HR employee | manage employee's claim budget | can either subtract or add to an employee's entitlement fund. | +| `* * *` | HR employee | have an overview on each employee's leaves | can identify which employee needs to start clearing their annual leave days. | +| `* * *` | HR employee | update an employee's leaves | keep track of the months that have the lowest manpower. | | `* * *` | HR employee | view all employees who have birthdays in a given month | can plan the celebrations beforehand. | | `* *` | HR employee | find an employee by name | locate details of an employee without having to go through the entire list | -| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | -| `*` | user with many persons in the address book | sort persons by name | locate a person easily | -| `*` | user with color preferences | change the application's theme | like the user interface more | +| `* *` | HR employee | undo and redo my previous commands | easily recover from input mistakes I made | +| `*` | HR employee | sort employees based on their details, e.g., name, salary, DOB, etc. | infer some useful information from the employees data | +| `*` | HR employee with color preferences | change the application's theme | like the user interface more | *{More to be added}* ### Use cases -(For all use cases below, the **System** is the `HR Insight` and the **Actor** is the `user / HR people`, unless specified otherwise) +(For all use cases below, the **System** is the `HR Insight` and the **Actor** is the `user / HR employee`, unless specified otherwise) -**Use case: Add an Employee** +**Use case: Adding an Employee** **MSS** @@ -462,46 +462,30 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. - -**Use case: Edit an Employee** +**Use case: Listing Employees** **MSS** -1. User requests to list employees. -2. HR Insight shows a list of employees. -3. User requests to edit an employee in the list specified by its index, with the employee's new information. -4. HR Insight edits the employee. -5. HR Insight indicates that the employee has been edited. -6. HR Insight shows a list of employees, with the employee's information now edited. +1. User requests to list all employees. +2. HR Insight shows all employees of an organisation. +3. User requests to filter employees by a specified department. +4. HR Insight shows all employees of the specified department. Use case ends. **Extensions** -* 2a. The list is empty. +* 2a. The employee's list is empty. Use case ends. -* 3a. The given index is invalid. +* 3a. The given department is invalid. * 3a1. HR Insight shows an error message. - Use case resumes from step 2. - -* 3b. User does not specify any new information for the employee. - - * 3b1. HR Insight shows an error message that at least one field to edit must be provided. - - Use case resumes from step 2. - -* 3c. At least one of the field given by the user is empty or invalid. - - * 3c1. HR Insight shows an error message. - - Use case resumes from step 2. - + Use case resumes from step 3. -**Use case: Delete an Employee** +**Use case: Deleting an Employee** **MSS** @@ -526,30 +510,43 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case resumes from step 2. - -**Use case: List Employees** + +**Use case: Editing an Employee** **MSS** -1. User requests to list all employees. -2. HR Insight shows all employees of an organisation. -3. User requests to filter employees by a specified department. -4. HR Insight shows all employees of the specified department. +1. User requests to list employees. +2. HR Insight shows a list of employees. +3. User requests to edit an employee in the list specified by its index, with the employee's new information. +4. HR Insight edits the employee. +5. HR Insight indicates that the employee has been edited. +6. HR Insight shows a list of employees, with the employee's information now edited. Use case ends. **Extensions** -* 2a. The employee's list is empty. +* 2a. The list is empty. Use case ends. -* 3a. The given department is invalid. +* 3a. The given index is invalid. * 3a1. HR Insight shows an error message. - Use case resumes from step 3. + Use case resumes from step 2. + +* 3b. User does not specify any new information for the employee. + + * 3b1. HR Insight shows an error message that at least one field to edit must be provided. + Use case resumes from step 2. + +* 3c. At least one of the field given by the user is empty or invalid. + + * 3c1. HR Insight shows an error message. + + Use case resumes from step 2. **Use case: Managing Employee's Claim** @@ -589,14 +586,14 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. -**Use case: Adding Employee's Leaves** +**Use case: Updating Employee's Leaves** **MSS** 1. User requests to list all employees. 2. HR Insight shows a list of employees. -3. User requests to add a leave of a specified month for an employee. -4. HR Insight records the leave of the employee. +3. User requests to update an employee's leaves. +4. HR Insight records the updated leaves of the employee. Use case ends. @@ -608,7 +605,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. -* 3b. User provides a wrong month (Either negative or more than 12). +* 3b. User provides a invalid month (Either negative or more than 12). * 3b1. HR Insight shows an error message. @@ -705,6 +702,58 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. +**Use Case: Sorting the employee list** + +**MSS** + +1. User requests to sort the employee list based on some parameter. +2. System sorts the employee list based on the parameter given. +3. System displays the success message. + + Use case ends. + +**Extensions** +* 1a. User does not provide any parameter. + * 1a1. HR Insight shows an error message of invalid command format. + + Use case ends. + +* 1b. User provides an invalid parameter. + * 1b1. HR Insight shows an error message of the parameter to sort is invalid. + + Use case ends. + +**Use Case: Undoing previous commands** + +**MSS** + +1. User requests to undo the previous command. +2. System updates the employee list to the previous state. +3. System displays the success message. + + Use case ends. + +**Extensions** +* 1a. There is no command to undo. + * 1a1. HR Insight shows an error message that there is no command to undo. + + Use case ends. + +**Use Case: Redoing previous undone commands** + +**MSS** + +1. User requests to redo the previous undone command. +2. System updates the employee list to the state before it was undone. +3. System displays the success message. + + Use case ends. + +**Extensions** +* 1a. There is no previous undone command to redo. + * 1a1. HR Insight shows an error message that there is no command to redo. + + Use case ends. **Use Case: Exporting Employee(s)' data** From 1237642cfaf88cb62ff110316ffae470cfe4fbee Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 01:04:45 +0800 Subject: [PATCH 07/15] Update UserGuide.md --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3b286633f0b..c319d3910c6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -4,7 +4,7 @@ title: User Guide --- HR Insight is a **desktop app for HR people, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). -The _purpose_ of this app is to provide **HR employees** a _centralized employee management system_ to better manage their employees' details and **improve the +The _purpose_ of this app is to provide **HR employees** a _centralized employee management system_ to better manage all employees' details and **improve the efficiency** of their workflow. HR Insight proves to be a particularly valuable tool for professionals specializing in the domains of _Employee Benefits_, _Employee Engagement_ and _Administration_. From 69e08ea62b1b0b72df769d01706541fc09d47eb0 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 01:05:10 +0800 Subject: [PATCH 08/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0dfd3083964..87fb7b3f5cb 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -410,7 +410,7 @@ The sequence diagram below shows how the `theme` commands execute: * prefers typing to mouse interactions * is reasonably comfortable using CLI apps -**Value proposition**: Provide HR employees a centralized employee management system to better manage employees’ details and improve the efficiency of their workflow. +**Value proposition**: Provide HR employees a centralized employee management system to better manage all employees’ details and improve the efficiency of their workflow. ### User stories From e09e86aeb5cd99f2e919bf59839f8c41179a77a5 Mon Sep 17 00:00:00 2001 From: nixonwidjaja Date: Fri, 10 Nov 2023 01:11:20 +0800 Subject: [PATCH 09/15] Modify edit error message --- src/main/java/seedu/address/logic/commands/EditCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index 6225d9a736f..b4fe077ceaf 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -55,8 +55,8 @@ public class EditCommand extends Command { + PREFIX_EMAIL + "johndoe@example.com"; public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Edited employee: %1$s"; - public static final String MESSAGE_NOT_EDITED = "At least one field to edit must be provided."; - public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book."; + public static final String MESSAGE_NOT_EDITED = "At least one field to edit must be provided.\n" + MESSAGE_USAGE; + public static final String MESSAGE_DUPLICATE_PERSON = "The employee already exists in the employee list."; private final Index index; private final EditPersonDescriptor editPersonDescriptor; From ef3665f60b6861feee391961ee85582530939a13 Mon Sep 17 00:00:00 2001 From: nixonwidjaja Date: Fri, 10 Nov 2023 01:14:28 +0800 Subject: [PATCH 10/15] Remove exported csv folder --- .gitignore | 2 +- Exported_CSVs/testExport.csv | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 Exported_CSVs/testExport.csv diff --git a/.gitignore b/.gitignore index fdd9ce48dc3..e6239107459 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ src/main/resources/docs/ /bin /.settings -/Exported_CSVs + # IDEA files /.idea/ diff --git a/Exported_CSVs/testExport.csv b/Exported_CSVs/testExport.csv deleted file mode 100644 index 17becb728ed..00000000000 --- a/Exported_CSVs/testExport.csv +++ /dev/null @@ -1,8 +0,0 @@ -Name,Phone,Email,Address,Salary,Claim Budget,DOB,Department,Leave -Alice Pauline,94351253,alice@example.com,"123, Jurong West Ave 6, #08-111",10000,5000,2000-01-01,Engineering,"Jan, Feb, Mar, Apr, Jun, Aug, Oct, Dec" -Benson Meier,98765432,johnd@example.com,"311, Clementi Ave 2, #02-25",100,5,1997-05-05,Sales,"Feb, Apr, Jun, Aug, Oct, Dec" -Carl Kurz,95352563,heinz@example.com,wall street,1000000000000,500000,1991-12-31,Executive,"Apr, Jun, Aug, Dec" -Daniel Meier,87652533,cornelia@example.com,10th street,23232323232,19191919,1969-07-27,Marketing,"Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec" -Elle Meyer,9482224,werner@example.com,michegan ave,3000,200,1999-06-17,HR,Dec -Fiona Kunz,9482427,lydia@example.com,little tokyo,100000,1,2002-02-27,Finance,Jul -George Best,9482442,anna@example.com,4th street,10000,5000,2005-09-30,Engineering,"Jan, Feb, Mar, Apr, May, Jun" From 4f5a3de2601ee873945bbc8f7a168e7d5d9da12a Mon Sep 17 00:00:00 2001 From: nixonwidjaja Date: Fri, 10 Nov 2023 01:14:45 +0800 Subject: [PATCH 11/15] Update gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e6239107459..fdd9ce48dc3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ src/main/resources/docs/ /bin /.settings - +/Exported_CSVs # IDEA files /.idea/ From 6abd27bd0220f148e98db79861758aaf3ac845db Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 01:39:49 +0800 Subject: [PATCH 12/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 87fb7b3f5cb..35402486db4 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -416,22 +416,25 @@ The sequence diagram below shows how the `theme` commands execute: Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` -| Priority | As a …​ | I want to …​ | So that I can…​ | +| Priority | As a(n) …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | -| `* * *` | HR employee | add an employee's information | manage all employee's information. | -| `* * *` | HR employee | update an employee's information | have the latest information on the employee. | -| `* * *` | HR employee | delete an employee's information | do not waste storage on retired/resigned employees. | -| `* * *` | HR employee | list all employees | can keep track of the company/department's headcount. | -| `* * *` | HR employee | manage employee's claim budget | can either subtract or add to an employee's entitlement fund. | -| `* * *` | HR employee | have an overview on each employee's leaves | can identify which employee needs to start clearing their annual leave days. | -| `* * *` | HR employee | update an employee's leaves | keep track of the months that have the lowest manpower. | -| `* * *` | HR employee | view all employees who have birthdays in a given month | can plan the celebrations beforehand. | +| `* * *` | HR employee | add an employee's information | | +| `* * *` | HR employee | update an employee's information | have the latest information of the employee | +| `* * *` | HR employee | delete an employee's information | | +| `* * *` | HR employee | list all employees | see all employees' details in the company | +| `* * *` | HR employee | add or subtract an employee's claim budget | manage the employee's claims and allowance | +| `* * *` | HR employee | have an overview on each employee's leaves | track each employee's leaves | +| `* * *` | HR employee | update an employee's leaves | | +| `* * *` | HR employee | reset all employees' leaves | efficiently adjust their leaves at the start of a new year | +| `* *` | HR employee | view all employees who have birthdays in a given month | can plan the celebrations beforehand | | `* *` | HR employee | find an employee by name | locate details of an employee without having to go through the entire list | | `* *` | HR employee | undo and redo my previous commands | easily recover from input mistakes I made | -| `*` | HR employee | sort employees based on their details, e.g., name, salary, DOB, etc. | infer some useful information from the employees data | -| `*` | HR employee with color preferences | change the application's theme | like the user interface more | +| `*` | HR employee | sort employees based on their details, e.g., name, salary, DOB, etc. | infer some useful information from the employees data | +| `*` | HR employee | export the employee list into a csv file | send the file to my manager or other stakeholders for review | +| `*` | HR employee with color preferences | change the application's theme | adjust the user interface according to my preference | +| `*` | advanced HR employee | navigate through my previous commands using up/down keys | more efficiently input commands that are similar to my previous inputs just like normal computer CLI or terminal | +| `*` | new HR employee | see a help message with command summary and link to the user guide | learn how to use HR Insight | -*{More to be added}* ### Use cases From b485ba729a7f44b308e7ade528b8b8cad2f68633 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 01:59:38 +0800 Subject: [PATCH 13/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 35402486db4..167e5e13814 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -138,11 +138,6 @@ The `Model` component, * stores a `UserPref` object that represents the user’s preferences. This is exposed to the outside as a `ReadOnlyUserPref` objects. * does not depend on any of the other three components (as the `Model` represents data entities of the domain, they should make sense on their own without depending on other components) -
:information_source: **Note:** An alternative (arguably, a more OOP) model is given below. It has a `Tag` list in the `AddressBook`, which `Person` references. This allows `AddressBook` to only require one `Tag` object per unique tag, instead of each `Person` needing their own `Tag` objects.
- - - -
### Storage component From 994d88f5f021ba1c85eeefdd1c6d795e0bd6cb9a Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 02:15:34 +0800 Subject: [PATCH 14/15] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 167e5e13814..aac32d44592 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -11,7 +11,7 @@ title: Developer Guide ## **Acknowledgements** - This project is adapted from [AddressBook 3 (AB3)](https://github.com/se-edu/addressbook-level3) -- Libraries used: [JavaFX](https://openjfx.io/) and [JUnit5](https://github.com/junit-team/junit5) +- Libraries used: [JavaFX](https://openjfx.io/), [Jackson](https://github.com/FasterXML/jackson), and [JUnit5](https://github.com/junit-team/junit5) - HR Insight logo is obtained from [Vecteezy](https://www.vecteezy.com/vector-art/4702848-abstract-letter-hr-logo-isolated-on-white-background) -------------------------------------------------------------------------------------------------------------------- From 0af9aa1e779966a0f7cba423b05cb0e638b20a82 Mon Sep 17 00:00:00 2001 From: Nixon Widjaja <69686938+nixonwidjaja@users.noreply.github.com> Date: Fri, 10 Nov 2023 02:20:20 +0800 Subject: [PATCH 15/15] Update index.md --- docs/index.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/index.md b/docs/index.md index f4bb2a48c07..b267d17f701 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,11 +8,15 @@ title: HR Insight ![Ui](images/Ui.png) -**HR Insight is a desktop application for managing your contact details.** While it has a GUI, most of the user interactions happen using a CLI (Command Line Interface). +HR Insight is a **desktop app for HR people, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). +The _purpose_ of this app is to provide **HR employees** a _centralized employee management system_ to better manage all employees' details and **improve the +efficiency** of their workflow. -- If you are interested in using HR Insight, head over to the [_Quick Start_ section of the **User Guide**](UserGuide.html#quick-start). -- If you are interested about developing HR Insight, the [**Developer Guide**](DeveloperGuide.html) is a good place to start. +- If you are interested in using HR Insight, head over to the [_Quick Start_ section of the **User Guide**](https://ay2324s1-cs2103-f13-2.github.io/tp/UserGuide.html#quick-start). +- If you are interested in developing HR Insight, the [**Developer Guide**](https://ay2324s1-cs2103-f13-2.github.io/tp/DeveloperGuide.html) is a good place to start. **Acknowledgements** -- Libraries used: [JavaFX](https://openjfx.io/), [Jackson](https://github.com/FasterXML/jackson), [JUnit5](https://github.com/junit-team/junit5) +- This project is adapted from [AddressBook 3 (AB3)](https://github.com/se-edu/addressbook-level3) +- Libraries used: [JavaFX](https://openjfx.io/), [Jackson](https://github.com/FasterXML/jackson), and [JUnit5](https://github.com/junit-team/junit5) +- HR Insight logo is obtained from [Vecteezy](https://www.vecteezy.com/vector-art/4702848-abstract-letter-hr-logo-isolated-on-white-background)